HDU 1241 Oil Deposits【dfs最大联通块(洪水算法)】
2015-08-05 14:44
507 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1241
典型的“洪水算法”。
典型的“洪水算法”。
#include<iostream> #include<cstdio> using namespace std; int a[200][200]; int n,m,sum; void make(int i,int j) { a[i][j]='*'; if(i-1>=1) { if(j-1>=1&&a[i-1][j-1]=='@') make(i-1,j-1); if(a[i-1][j]=='@') make(i-1,j); if(j+1<=n&&a[i-1][j+1]=='@') make(i-1,j+1); } if(j-1>=1&&a[i][j-1]=='@') make(i,j-1); if(j+1<=n&&a[i][j+1]=='@') make(i,j+1); if(i+1<=m) { if(j-1>=1&&a[i+1][j-1]=='@') make(i+1,j-1); if(a[i+1][j]=='@') make(i+1,j); if(j+1<=n&&a[i+1][j+1]=='@') make(i+1,j+1); } } int main() { int i,j; scanf("%d%d",&m,&n); while(m!=0) { for(i=1;i<=m;i++) { scanf("\n"); for(j=1;j<=n;j++) scanf("%c",&a[i][j]); } sum=0; for(i=1;i<=m;i++) for(j=1;j<=n;j++) if(a[i][j]=='@') { sum++; make(i,j); } printf("%d\n",sum); scanf("%d%d",&m,&n); } return 0; }
相关文章推荐
- Python 爬虫
- HTTPS、SPDY和HTTP/2的性能比较
- 大型网站核心架构要素
- 不解压直接读取压缩包中的文件
- iOS 【transform属性】-通过tramsform熟悉个可以修改对象的平移、缩放比例和旋转角度
- Android 谷歌 开源 通信框架 VOLLEY(六)——应用实例
- 用Jquery来控制A标签的class,以达到控制其样式
- java获取当前路径
- oracle安装报错:Could not retrieve local nodename.
- DRA(Data Recovery Advisor)的使用
- Android图片下载缓存库picasso解析
- MBR与GPT分区格式(实例-创建大于2TB的分区)
- ListView的item点击事件不响应(你觉得应该响应的,但是就是没响应,而且不是代码问题)
- iOS 知识点
- 【Qt】滚动条QScroolBar实现滚屏功能
- HDU 4597 Play Game
- 解决jquery操作checkbox全选全不选无法勾选问题
- 剑指offer面试题15——扩展2:判断一个单向链表是否形成环结构
- Mac OS 上安装Ruby环境
- 单片机矩阵按键长短按