hdu 6113 度度熊的01世界(dfs)
来源:互联网 发布:java cp classpath 编辑:程序博客网 时间:2024/06/06 07:26
http://acm.hdu.edu.cn/showproblem.php?pid=6113
用dfs计算出’1’的联通块个数和不在外边一圈的’0’的联通块的个数
#include<iostream>#include<cstring>using namespace std;char s[1005][1005];int vis[1005][1005],n,m;int dx[]={1,0,-1,0},dy[]={0,1,0,-1}; bool dfs(int x,int y){ vis[x][y]=1; int blag=true; for(int i=0;i<4;i++) { int sx=x+dx[i]; int sy=y+dy[i]; if(sx<0||sx>=n||sy<0||sy>=m) //判断是否存在边界的点 blag=false; if(s[sx][sy]==s[x][y]&&!vis[sx][sy]) blag&=dfs(sx,sy); } return blag;}int main(){ while(cin>>n>>m) { for(int i=0;i<n;i++) cin>>s[i]; memset(vis,0,sizeof(vis)); int one=0,zero=0; //one 记录'1'联通块的个数 zero 表示不在外边一圈的'0'的联通块的个数 for(int i=0;i<n;i++) for(int j=0;j<m;j++) { if(!vis[i][j]) { if(s[i][j]=='1') { one++; dfs(i,j); } else zero+=dfs(i,j); } } if(one!=1) cout<<-1<<endl; else if(zero==0) cout<<1<<endl; else if(zero==1) cout<<0<<endl; else cout<<-1<<endl; } return 0;}
阅读全文
0 0
- 【HDU 6113 度度熊的01世界 】 & DFS
- HDU 6113 度度熊的01世界 dfs
- 【dfs】hdu 6113 度度熊的01世界
- HDU 6113 度度熊的01世界 (DFS
- HDU 6113 度度熊的01世界(dfs)
- HDU 6113 度度熊的01世界 (暴力dfs)
- hdu 6113 度度熊的01世界(dfs)
- HDU 6113 度度熊的01世界(dfs)
- HDU 6113 度度熊的01世界(简单dfs)
- hdu 6113 度度熊的01世界 (dfs+扩边界)
- BestCoder 度度熊的01世界 (DFS)
- HDU6113 度度熊的01世界(dfs)
- HDU 6113 度度熊的01世界 【DFS】(2017"百度之星"程序设计大赛
- 度度熊的01世界 dfs
- hdu 6113 度度熊的01世界
- HDU-6113 度度熊的01世界
- HDU 6113 度度熊的01世界【搜索】
- hdu 6113 度度熊的01世界
- vue之vue-router vuex学习笔记
- 51 nod 1072 威佐夫博弈
- HDU-2017 多校训练赛5-1001-Rikka with Candies
- 百度之星初赛(B)--1006小小粉丝度度熊
- Address already in use: JVM_Bind<null>:8080错误的解决办法
- hdu 6113 度度熊的01世界(dfs)
- HDU 6119 小小粉丝度度熊 双指针
- 用户登陆 java后台处理(拦截器处理)
- 深度学习面试题
- 欢迎使用CSDN-markdown编辑器
- HTTP技术快速提升网页的访问速度
- Linux之间相互传输的命令scp
- AJAX初学知识
- 作业调度-高性能作业调度-Quartz作业调度框架