poj 3620
2016-05-23 13:20
225 查看
题意:给出一个矩阵,其中有些格子干燥、有些潮湿。
如果一个潮湿的格子的相邻的四个方向有格子也是潮湿的,那么它们就可以构成更大
的湖泊,求最大的湖泊。
也就是求出最大的连在一块儿的潮湿的格子的数目。
如果一个潮湿的格子的相邻的四个方向有格子也是潮湿的,那么它们就可以构成更大
的湖泊,求最大的湖泊。
也就是求出最大的连在一块儿的潮湿的格子的数目。
#include<iostream> #include<cstring> using namespace std; int aa[105][105]={0}; int dir[4][2]={-1,0,1,0,0,-1,0,1}; int sum=0,ans=0,n,m,k; void dfs(int a,int b) { int a1,b1; ans++; aa[a][b]=0; for(int i=0;i<4;i++) { a1=a+dir[i][0]; b1=b+dir[i][1]; if(a1>=1&&a1<=n&&b1>=1&&b1<=m&&aa[a1][b1]) dfs(a1,b1); //不用回溯的原因,因为只要是能连续到达的店连成湖的肯定都能连一块的; } } int main() { cin>>n>>m>>k; for(int i=0;i<k;i++) {int x,y; cin>>x>>y; aa[x][y]=1; } for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) { if(aa[i][j]) { ans=0; dfs(i,j); if(ans>sum)sum=ans; } } cout<<sum<<endl; return 0; }
相关文章推荐
- mvn常用命令
- Android案例
- Android动画-Drawable Animation
- Linux下安装配置tomcat并部署javaweb项目
- [SCU 4511] 任务 (状态优化DP)
- 安装 caseprjs 和 phantomjs
- 勾股定理每日一证 1
- python中set和frozenset方法和区别
- String painter
- 爬虫介绍02:爬取第一个站点
- TF-IDF算法解析与Python实现
- 阿里云服务器yum源更新问题
- LeetCode-160.Intersection of Two Linked Lists
- js的call() ,apply() 两种方法的区别和用法,最白话文的解释,让枯燥滚粗!
- 哪些是真实的执行计划?
- SQLMAP自动注入(二)-REQUEST
- 互联网金融高并发方案
- xlslib库使用简记
- [华为机试]扑克牌大小
- mongoDB的基础使用