水池数目

描述:
南阳理工学院校园里有一些小河和一些湖泊,现在,我们把它们通一看成水池,假设有一张我们学校的某处的地图,这个地图上仅标识了此处是否是水池,现在,你的任务来了,请用计算机算出该地图中共有几个水池。
输入:
第一行输入一个整数N,表示共有N组测试数据
每一组数据都是先输入该地图的行数m(0<m<100)与列数n(0<n<100),然后,输入接下来的m行每行输入n个数,表示此处有水还是没水(1表示此处是水池,0表示此处是地面)
输出:
输出该地图中水池的个数。
要注意,每个水池的旁边(上下左右四个位置)如果还是水池的话的话,它们可以看做是同一个水池。
样例输入:
2
3 4
1 0 0 0
0 0 1 1
1 1 1 0
5 5
1 1 1 1 0
0 0 1 0 1
0 0 0 0 0
1 1 1 0 0
0 0 1 1 1
样例输出:
2

3

程序代码:

#include<stdio.h>
void dfs(int x,int y);
int a[110][110];
int count,m,n;
int main()
{int T,i,j;scanf("%d",&T);while(T--){count=0;scanf("%d%d",&m,&n);for(i=0;i<m;i++)for(j=0;j<n;j++)scanf("%d",&a[i][j]);for(i=0;i<m;i++)for(j=0;j<n;j++)if(a[i][j]==1){dfs(i,j);count++;}printf("%d\n",count);}return 0;
}
void dfs(int x,int y)
{int tx,ty,k;int next[4][2]={0,1, 0,-1, 1,0, -1,0};for(k=0;k<4;k++){tx=x+next[k][0];ty=y+next[k][1];if(tx<0||tx>m-1||ty<0||ty>n-1)continue;if(a[tx][ty]==1){a[tx][ty]=0;dfs(tx,ty);}}return;
}

NYOJ-水池数目(dfs)相关推荐

  1. java水池,水池数目 dfs - 阿豪boy的个人空间 - OSCHINA - 中文开源技术交流社区

    上一篇: 差值 水池数目 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 输入 第一行输入一个整数N,表示共有N组测试数据 每一组数据都是先输入该地图的行数m(0 输出 输出该 ...

  2. nyist 27 水池数目(dfs搜索)

     水池数目 时间限制: 3000 ms  |  内存限制: 65535 KB 难度: 4 描述 南阳理工学院校园里有一些小河和一些湖泊,现在,我们把它们通一看成水池,假设有一张我们学校的某处的地图 ...

  3. nyoj27 水池数目

    水池数目 时间限制: 3000 ms  |  内存限制: 65535 KB 难度: 4 描述 南阳理工学院校园里有一些小河和一些湖泊,现在,我们把它们通一看成水池,假设有一张我们学校的某处的地图,这个 ...

  4. 水洼数目(dfs万能模板)

    水洼数目(dfs万能模板) /* 有一个大小为 N×M 的园子,雨后积起了水.八连通的积水被认为是连接在一起的. 请求出 园子里总共有多少水洼?(八连通指的是下图中相对 W 的*的部分) W 限制条件 ...

  5. Nyoj 27 水池数目

    跟poj1562相当类似! 题目来源:http://acm.nyist.net/JudgeOnline/problem.php?pid=27 #include <iostream> #in ...

  6. 水池数目---深搜思想

    1 //水池个数 深搜思想 2 /*#include<stdio.h> 3 int a[105][105],m,n; 4 void DFS(int x,int y) 5 { 6 if(x& ...

  7. nyoj58 水池数目

    几个月前ac的,今天再次写,发现很多细节任然把握不好,总结到了学过的东西真的要多看,不然忘记的真的会很多的,同时发现自己写的代码真的烂到极点了,加油: bfs: #include<iostrea ...

  8. nyoj27 水池数目 BFS

    #include<stdio.h> #include<string.h> int mat[101][101]; int a[4]={1,0,-1,0}; int b[4]={0 ...

  9. nyoj 最大岛屿

    最大岛屿 题目描述 神秘的海洋,惊险的探险之路,打捞海底宝藏,激烈的海战,海盗劫富等等.加勒比海盗,你知道吧?杰克船长驾驶着自己的的战船黑珍珠1号要征服各个海岛的海盜,最后成为海盗王.  这是一个由海 ...

最新文章

  1. jquery对所有input type=text的控件赋值
  2. equal与hashcode的区别
  3. 此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态
  4. MySQL-查询数据(SELECT)
  5. GDI+中常见的几个问题(6)
  6. Spring思维导图(IOC篇)
  7. qtscrcpy自定义按键_按键映射说明.md
  8. 阿里云的这个智能编码插件真心好用!Java 开发神器!!!
  9. 使用 Visual Studio Code (VSCODE)写 C51 (持续更新 2018-04-09)
  10. 确保河道环境_开展河道整治 改善生态环境
  11. Picasso(毕加索)加载圆形图片、圆角图片
  12. 解决Selection executes are supported only in the DbVisualizer Personal edition
  13. 恶意软件、反病毒网关简析
  14. oracle设置默认角色,oracle的用户和角色管理
  15. Transactions
  16. 微信表情符号 mysql_Emoji表情符号入MySQL数据库报错的解决方案
  17. 【C++】-- C++11基础常用知识点(下)
  18. WPF实现棋盘式图片切换效果
  19. Mysql索引原理整理
  20. java catch空指针异常处理_Java基础学习:java文件空指针异常处理

热门文章

  1. 如何在oracle中查询所有用户表的表名、主键名称、索引、外键等 - Oracle   基础和管理_files...
  2. [Swift实际操作]七、常见概念-(12)使用DispatchGroup(调度组)管理线程数组
  3. bzoj1691/luogu2869 [USACO07DEC]挑剔的美食家 (STL::set)
  4. 理解浏览器和nodeJs中的事件循环(Event Loop)
  5. volatile关键字(转)
  6. 阅读bulid to win感想
  7. WordPress主题制作全过程(二):主题文件构成
  8. Cognos访问权限之让拒绝更友善
  9. [terry笔记]Oracle10g/11g安装-redhat5.5
  10. AJAX - 创建XMLHttpRequest 对象