水池数目

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

输入
第一行输入一个整数N,表示共有N组测试数据

每一组数据都是先输入该地图的行数m(0<m<100)与列数n(0<n<100),然后,输入接下来的m行每行输入n个数,表示此处有水还是没水(1表示此处是水池,0表示此处是地面)
输出
输出该地图中水池的个数。

要注意,每个水池的旁边(上下左右四个位置)如果还是水池的话的话,它们可以看做是同一个水池。
样例输入
  1. 2
  2. 3 4
  3. 1 0 0 0
  4. 0 0 1 1
  5. 1 1 1 0
  6. 5 5
  7. 1 1 1 1 0
  8. 0 0 1 0 1
  9. 0 0 0 0 0
  10. 1 1 1 0 0
  11. 0 0 1 1 1
样例输出
  1. 2
  2. 3
  1.  
  1. #include<stdio.h>
  2. #include<string.h>
  3. #include<algorithm>
  4. using namespace std;
  5. int map[100][100];
  6. int n,m;
  7. void dfs(int x,int y)
  8. {
  9. 	if(map[x][y]==0||x<1||x>n||y<1||y>m)
  10. 	return ;
  11. 	map[x][y]=0;
  12. 	dfs(x+1,y);
  13. 	dfs(x,y+1);
  14. 	dfs(x,y-1);
  15. 	dfs(x-1,y);
  16. }
  17. int main()
  18. {
  19. 	int t;
  20. 	scanf("%d",&t);
  21. 	while(t--)
  22. 	{
  23. 		memset(map,0,sizeof(map));
  24. 		scanf("%d%d",&n,&m);
  25. 		for(int i=1;i<=n;i++)
  26. 		for(int j=1;j<=m;j++)
  27. 		scanf("%d",&map[i][j]);
  28. 		int ans=0;
  29. 		for(int i=1;i<=n;i++)
  30. 		{
  31. 			for(int j=1;j<=m;j++)
  32. 			{
  33. 				if(map[i][j]==1)
  34. 				{
  35. 					dfs(i,j);
  36. 					ans++;
  37. 				 }
  38. 			}
  39. 		}
  40. 		printf("%d\n",ans);
  41. 	}
  42. 	return 0;
  43. }

nyoj--27--水池数目(dfs)的更多相关文章

  1. NYOJ 27.水池数目-DFS求连通块

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

  2. nyoj 27 水池数目

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

  3. NYOJ题目27水池数目

    --------------------------------------------- 这道题有点坑,也怪我总是有点马虎,按照正常人的思维0是表示有水池啊竟然是1表示有水池,最坑的是写反了竟然还能 ...

  4. nyoj27水池数目 (DFS)

    题目27 题目信息 执行结果 本题排行 pid=27" style="text-decoration:none; color:rgb(55,119,188)">讨论 ...

  5. 水池数目(DFS)

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

  6. nyoj水池数目

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

  7. ACM 水池数目

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

  8. 水池(DFS)

    水池数目 点我 描述 南阳理工学院校园里有一些小河和一些湖泊,现在,我们把它们通一看成水池,假设有一张我们学校的某处的地图,这个地图上仅标识了此处是否是水池,现在,你的任务来了,请用计算机算出该地图中 ...

  9. acm入门搜索-水池数目

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

  10. NYOJ36 水池数目

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

随机推荐

  1. 高斯混合模型Gaussian Mixture Model (GMM)——通过增加 Model 的个数,我们可以任意地逼近任何连续的概率密分布

    从几何上讲,单高斯分布模型在二维空间应该近似于椭圆,在三维空间上近似于椭球.遗憾的是在很多分类问题中,属于同一类别的样本点并不满足“椭圆”分布的特性.这就引入了高斯混合模型.——可以认为是基本假设! ...

  2. nyoj--1185--最大最小值(线段树)

    最大最小值 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 给出N个整数,执行M次询问. 对于每次询问,首先输入三个整数C.L.R: 如果C等于1,输出第L个数到第R个数 ...

  3. Linux 下 新增Oracle10g 实例

    主要分为5步:创建实例目录,创建密码文件,创建参数文件,创建建库脚本并建库,创建数据字典. 其中,需要特别注意2点: 目录的权限,即用户和所属用户组都要是oracle.可以切换到已存在的oracle用 ...

  4. NEU2016年一月月赛回顾

    月赛传送门 http://acm.neu.edu.cn/hustoj/contest.php?cid=1066 月赛已经结束十天了...才把题目补完真是大失误... 茅巨巨四天前就补完了,,,总结写得 ...

  5. 2.linux系统命令详解

    1 shell shell:命令解释器,根据输入的命令执行相应命令. 1.1 shell家族 察看当前系统下有哪些shell: cat /etc/shells 察看当前系统正在使用的shell ech ...

  6. BZOJ 4004 高斯消元

    思路: 排个序 消元 完事~ 但是! 坑爹精度毁我人生 我hhhh他一脸 红红火火恍恍惚惚 //By SiriusRen #include <cmath> #include <cst ...

  7. Fine-tuning CaffeNet for Style Recognition on “Flickr Style” Data 数据下载遇到的问题

    (下载的时候没有提示 不知道是正在下 还是出现错误 卡着了)..一直没有反应 下载前要以管理员身份运行 sudo su 再 python examples/finetune_flickr_style/ ...

  8. avformat_find_stream_info函数卡住问题

    问题:初始化RTSP流时,在android设备上卡住在avformat_find_stream_info函数,然后程序崩溃. 但其他URL没问题,且同样在代码在iOS上没问题,由于jni调试,也没看到 ...

  9. wampserver的安装及使用配置方法

    在安装wampserver的过程中,根据本人在安装过程中遇到的问题,在此做个总结,与小伙伴们分享一下下~~~. 1. 何处获得Wamp ★ 在自己的Windows电脑上Web服务器软件 - Wamp. ...

  10. luogu P3387 【模板】缩点_拓扑排序

    还是很好些的. Code: #include <stack> #include <cstdio> #include <algorithm> #include < ...