水池数目

时间限制:3000 ms  |  内存限制:65535 KB
难度:4
描写叙述
南阳理工学院校园里有一些小河和一些湖泊,如今,我们把它们通一看成水池,如果有一张我们学校的某处的地图,这个地图上仅标识了此处是否是水池,如今。你的任务来了。请用计算机算出该地图中共同拥有几个水池。

输入
第一行输入一个整数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
来源

source=%5B%E5%BC%A0%E4%BA%91%E8%81%AA%5D%E5%8E%9F%E5%88%9B" style="text-decoration:none; color:rgb(55,119,188)">[张云聪]原创

上传者
张云聪

先遍历地图 发现水池就深搜。把它旁边的水池所有标记,同一时候水池的数目+1

非常easy。只是要记得这个是上下左右四个方向。。不是八个方向0.0.

#include <stdio.h>
#include <string.h>
int t,m,n,i,j,count;
int visit[100][100],a[100][100];
void dfs(int s1,int s2)
{
if(s1<0||s1==m||s2<0||s2==n||visit[s1][s2]||!a[s1][s2])
return ;
visit[s1][s2]=1;
dfs(s1+1,s2);
dfs(s1-1,s2);
dfs(s1,s2-1);
dfs(s1,s2+1);
}
int main()
{
scanf("%d",&t);
while(t--)
{
scanf("%d %d",&m,&n);
memset(a,0,sizeof(a));
memset(visit,0,sizeof(visit));
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
count=0;
for(i=0;i<m;i++)
for(j=0;j<n;j++)
{
if(a[i][j]==1&&visit[i][j]==0)
count++,dfs(i,j);
}
printf("%d\n",count);
}
}

最新文章

  1. XCode的个人使用经验
  2. [转帖]海森矩阵(Hessian matrix)
  3. php课程---面向对象
  4. ZeroMQ - 三种模型的python实现
  5. 【Win10】【译】提交 UWP 应用时遇到意料之外的语言?
  6. JavaScript高级程序设计之基本包装类型
  7. 小记UNIX编程库调用.
  8. Spring 4.0 中的 WebSocket 架构
  9. SQL Server验证的两种方式
  10. js运动动画
  11. 3.Chrome数据同步服务分析--server一片
  12. java的String类型为什么是final
  13. zookeeper 介绍
  14. ie页面数据导入共享版
  15. 浅析微信支付:公众平台卡券功能开通、HTML5线上发券(JS-SDK接口)、查看卡券详情
  16. SharePoint 2013 How to Backup Site Collection Automatically With a PowerShell Script
  17. Qt Q_DECLARE_METATYPE说明——让自定义的类型设置到QVariant
  18. unity字库精简
  19. 通过代码退出IOS程序
  20. 解决word2016鼠标每点击一下就出现一个保存的圆圈

热门文章

  1. 生成Nuget 源代码包来重用你的Asp.net MVC代码
  2. C++(extern关键字的理解和作用深入)
  3. org.apache.jasper.JasperException: javax.el.PropertyNotFoundException: Property [xxx] not readable on type [xxx]
  4. interface与抽象类
  5. GAN生成图像论文总结
  6. Crash reporter
  7. java内存组成
  8. 通过acdbblockreference 获得块名
  9. php第二十二节课
  10. java诗词横版--转为竖版