2017百度之星初赛:A-1006. 度度熊的01世界(DFS)
来源:互联网 发布:网络教育第二学位 编辑:程序博客网 时间:2024/06/05 19:05
度度熊的01世界
Accepts: 967
Submissions: 3064
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 32768/32768 K (Java/Others)
严格按照题目的要求来做这题就过了↓
DFS记录0和1的连通块个数和没有被包围的连通块个数
之后判断一下就好了
#include<stdio.h>#include<string.h>int n, m, ok, flag[105][105], a[105][105], dir[4][2] = {1,0,0,1,-1,0,0,-1};void Sech(int x, int y){int dx, dy, i;flag[x][y] = 1;for(i=0;i<=3;i++){dx = x+dir[i][0];dy = y+dir[i][1];if(dx<1 || dx>n || dy<1 || dy>m){ok = 0;continue;}if(flag[dx][dy]==1 || a[dx][dy]!=a[x][y])continue;Sech(dx, dy);}}int main(void){int i, j, z0, z1, x0, x1;while(scanf("%d%d", &n, &m)!=EOF){memset(flag, 0, sizeof(flag));for(i=1;i<=n;i++){for(j=1;j<=m;j++)scanf("%1d", &a[i][j]);}z0 = z1 = x0 = x1 = 0;for(i=1;i<=n;i++){for(j=1;j<=m;j++){if(flag[i][j]==0){ok = 1;Sech(i, j);if(a[i][j]==0)z0++, x0 += ok;elsez1++, x1 += ok;}}}if(z1==1 && x0==0)printf("1\n");else if(z1==1 && x0==1)printf("0\n");elseprintf("-1\n");}return 0;}
阅读全文
1 0
- 2017百度之星初赛:A-1006. 度度熊的01世界(DFS)
- 2017百度之星初赛(A) 度度熊的01世界(BFS/DFS)
- 【原创】【百度之星2017初赛A】1006 度度熊的01世界
- hdu6113 2017"百度之星"初赛(A)1006度度熊的01世界(搜索)
- 2017百度之星初赛(A) 1006 度度熊的01世界(搜索连通块)
- 百度之星初赛(A)Hdu-6113.度度熊的01世界
- 百度之星初赛(A)--度度熊的01世界----bfs搜索
- 2017百度之星初赛(A) 1006 度度熊的01世界(bfs找连通块)
- 2017 百度之星A轮初赛(小C的倍数问题, 今夕何夕, 度度熊的01世界)
- 2017百度之星初赛a
- HDU6113 度度熊的01世界(深搜DFS,2017"百度之星"程序设计大赛
- HDU 6113 度度熊的01世界 【DFS】(2017"百度之星"程序设计大赛
- HDU6113 度度熊的01世界(深搜DFS,2017"百度之星"程序设计大赛
- 2017百度之星资初赛(A)--E:今夕何夕
- 百度之星2017初赛题解(A)
- 2017百度之星初赛(A) 1001 小C的倍数问题(基础数论)
- hdu6108 2017"百度之星"初赛(A)1001小C的倍数问题(数学)
- 2017百度之星初赛(A)1001 小C的倍数问题(求因子数)
- 知网__抓取新发现frame
- java Qrcode生成二维码与解析
- 获取兼容性的滚动scrollTOP-LEFT值
- maven完成ssh整合所需要的jar包(附源码)
- NOIP 2006提高组 能量项链
- 2017百度之星初赛:A-1006. 度度熊的01世界(DFS)
- mysql的5.6版本支持分区吗?
- C++编写红警3 1.12版本修改器
- 慕课网《linux网络管理》笔记
- 【线段树】基础
- Android基础_需要使用adapter的控件,以及对BaseAdapter及其中的ViewHolder进行重构(三)
- 算法笔记(5)图的广度优先遍历和深度优先遍历
- 百度之星初赛(A)Hdu-6113.度度熊的01世界
- [leetcode]488. Zuma Game