Link


Problem


Sample-1 in
5 7
*......
..**..*
.*...*.
...*...
....*..
Sample-1 out
3 4
Sample-2 in
10 10
**..**.**.
***....*..
*...**.**.
...*..*...
..........
**...**.*.
..*.*....*
..........
***..*.*..
.***..*...
Sample-2 out
4 12

思路

这天空如此狭小
暴力。
dfs处理每个星座,桶排序处理星系。反正数据不大,随便敲。


Code

#include<cstdio>
#include<cmath>
#include<iostream>
using namespace std;
int n,m,maxx,tongji,a[2001][2001],b[2001][2001],ans[100010];
int fx[10]={-1,0,1,-1,1,-1,0,1},fy[10]={-1,-1,-1,0,0,1,1,1};
char c;
bool check(int xx,int yy){if(xx == 0 || yy == 0 || xx > n || yy > m) return 0;return 1;
}
int dfs(int x,int y){  //dfs得出此星座的大小int anss = 1;b[x][y] = 1;for(int i = 0; i < 8; ++i)if(check(x+fx[i],y+fy[i]) == 1)  //单纯判断边界if(b[x+fx[i]][y+fy[i]] == 0 && a[x+fx[i]][y+fy[i]] == 1)anss += dfs(x+fx[i],y+fy[i]);return anss;
}
int main(){scanf("%d%d",&n,&m);for(int i = 1; i <= n; ++i)  //输入for(int j = 1; j <= m; ++j){c = getchar();while(c!='*' && c!='.') c = getchar();if(c == '*') a[i][j] = 1;}for(int i = 1; i <= n; ++i)for(int j = 1; j <= m; ++j)if(b[i][j] == 0 && a[i][j] == 1)++ans[dfs(i,j)];   //这个星座加入大小为dfs(i,j)的星系for(int i = 1; i <= 100000; ++i)  //统计星系if(ans[i] > 0){maxx = max(maxx,i*ans[i]);  //星系大小 = 星座大小*星座数++tongji;}printf("%d %d",tongji,maxx);
}

★Arknights-星极-寻耀★

【DFS】洛谷P6566 [NOI Online #3 入门组]观星(民间数据)相关推荐

  1. 【寒假每日一题】洛谷 P7471 [NOI Online 2021 入门组] 切蛋糕

    题目链接:P7471 [NOI Online 2021 入门组] 切蛋糕 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述 Alice.Bob 和 Cindy 三个好朋友得到 ...

  2. 题解【洛谷】P6566 NOI Online #3 入门组 观星

    题目描述: 点击进入题目 Jimmy 和 Symbol 约好一起看星星,浩瀚的星空可视为一个长为 N.宽为 M的矩阵,矩阵中共有N×MN \times MN×M个位置,一个位置可以用坐标 (i,j)( ...

  3. 洛谷6474[NOI Online #2 入门组]荆轲刺秦王

    题目背景 本测试数据为脚造,欢迎提供hack. 第18组数据卡了很多人,放于附件中供检查. 题目描述 时隔数年,刺客荆轲再次来到咸阳宫,试图刺杀嬴政. 咸阳宫的地图可以描述为一个 n 行 m 列的矩形 ...

  4. luogu P6566 [NOI Online #3 入门组]观星

    题面传送门 直接bfsbfsbfs即可. 代码实现: #include<cstdio> #include<queue> #define max(a,b) ((a)>(b) ...

  5. [NOI Online #3 入门组]观星

    题面传送门 就是一个dfs查找星座,然后再数出星系数. 函数: #include <bits/stdc++.h> using namespace std; int n,m,maxn,max ...

  6. 洛谷题目按难度点评---入门难度

    洛谷题目按难度点评---入门难度 1.p1421 小玉买文具 难度:入门难度 考点:输入,输出,整数的四则运算 适用:小学生 #include <stdio.h> int main(){ ...

  7. 洛谷oj题单【入门2】分支结构-入门难度(Java)

    洛谷oj题单[入门2]分支结构-入门难度(Java) 来源:https://www.luogu.com.cn/training/101#problems P5709 [深基2.习6]Apples Pr ...

  8. #洛谷oj:P1525 [NOIP2010 提高组] 关押罪犯

    洛谷oj:P1525 [NOIP2010 提高组] 关押罪犯 #题目描述 #一看很明显是贪心算法 加排序 因为 这个中间最大值的那一对肯定是不会在一起的 从大到小来看 所有点对都尽量不要在一个监狱 # ...

  9. 洛谷P1003 铺地毯 noip2011提高组day1T1

    洛谷P1003 铺地毯 noip2011提高组day1T1 洛谷原题 题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有 n ...

最新文章

  1. 复旦陈静静 | 把握当下,坚持热爱,与食物图像识别结缘的科研之路
  2. 对Linux系统中的时钟和时间的探讨
  3. 如何规划网站设计方案让用户访问更加舒适?
  4. java设计前期工作基础和存在的困难_Java秒杀系统实战系列-基于Redisson的分布式锁优化秒杀逻辑...
  5. for循环批量写文件 shell_shell之for循环的3个简单脚本
  6. java 为文件及文件夹添加权限
  7. SharePoint2013 Excel导出好的代码
  8. Cocos2d-x之LUA脚本引擎深入分析
  9. 除了WhatsApp以外,还有哪些即时聊天软件?
  10. 一起来做一个 c++ 单项选择题标准化考试系统
  11. java poi 读合并单元格的内容,poi合并单元格,poi合并单元格并设置内容居中
  12. 离散小波变换wavedec matlab,Matlab实现小波变换
  13. Linux中执行shell脚本的方法,在Linux中执行Shell脚本的4种方法的总结
  14. 系统命名法(IUPAC命名法)
  15. 虚拟机安装systemc
  16. 【文本分析】基于粤港澳大湾区博物馆访客评价的文本分析
  17. html5 自动连接wifi,怎么设置自动切换wifi 点击右上角的【高级设置】
  18. 为什么安装step7时要重启计算机,step7安装提示重启怎么解决
  19. 王兴:恨在中国创业,他先后创办了校内和饭否,但都令人瞩目地...
  20. php详情页图片尺寸,拼多多主图轮播图详情页图片尺寸要求大全

热门文章

  1. navicat for mysql 绿色版
  2. 沙漠骆驼用计算机怎么弹数字音谱,沙漠骆驼钢琴简谱-数字双手-展展与罗罗
  3. 12306火车票预定系统的需求分析
  4. Camera APP(预览、拍照、录像)
  5. CSS简单动画---自用展开区域动画(箭头旋转,区域拉伸)
  6. Android---flipper实现图片轮播
  7. 手机订货软件for android1.5
  8. python基础学习笔记-day1
  9. 瑞幸咖啡为何能逆风翻盘?
  10. 如何实现多存储文件传输,镭速提供多存储文件传输解决方案