QDU07 GZS与小公园
2016-09-13 15:34
316 查看
GZS与小公园
发布时间: 2015年9月6日 15:18 最后更新: 2016年6月30日 21:57 时间限制: 3000ms 内存限制: 256M
描述
某天GZS漫步在学校新建的小公园,他发现那里建成了一些水池和小河道。我们暂且把它们统一看成水池。假设公园旁有一张小公园的地图,上面仅标识了此处是否是水池,你能帮GZS计算出该地图中一共有几个水池吗。
输入
第一行输入一个整数N,表示共有N组测试数据 每一组数据都是先输入该地图的行数m(0
发布时间: 2015年9月6日 15:18 最后更新: 2016年6月30日 21:57 时间限制: 3000ms 内存限制: 256M
描述
某天GZS漫步在学校新建的小公园,他发现那里建成了一些水池和小河道。我们暂且把它们统一看成水池。假设公园旁有一张小公园的地图,上面仅标识了此处是否是水池,你能帮GZS计算出该地图中一共有几个水池吗。
输入
第一行输入一个整数N,表示共有N组测试数据 每一组数据都是先输入该地图的行数m(0
#include<cstdio> #include<iostream> #include<cstring> using namespace std; int map[110][110]={0}; int n,m; void dfs(int x,int y) { int next[4][2]= { {1,0}, {0,1}, {-1,0}, {0,-1} }; int dx=x,dy=y; map[x][y]=0; for(int i=0;i<4;i++) { dx=x+next[i][0]; dy=y+next[i][1]; if(0<=dx&&dx<n&&0<=dy&&dy<m&&map[dx][dy]==1) dfs(dx,dy); } return ; } int main() { int t; scanf("%d",&t); while(t--) { int count=0; scanf("%d%d",&n,&m); for(int i=0;i<n;i++) for(int j=0;j<m;j++) { scanf("%d",&map[i][j]); } for(int i=0;i<n;i++) for(int j=0;j<m;j++) { if(map[i][j]==1) { dfs(i,j); count++; } } printf("%d\n",count); } return 0; }
相关文章推荐
- js ==与===区别
- MySQL索引原理与慢查询优化
- eclipse下集成golang插件
- Ext.js适配
- 深入理解Java虚拟机(一)——Java内存区域
- 一个PHP缓存类,附三个实例Demo代码
- 通过Ajax方式上传文件,使用FormData进行Ajax请求
- TypeError: 'module' object is not callable 原因分析
- 顺序表应用3:元素位置互换之移位算法
- 系统测试
- appium locator
- 深入浅出JMS(一)--JMS基本概念
- CodeForces 679B Bear and Tower of Cubes
- mysql卡住锁表 processlist explain
- Flask Web 开发 博客文章_4
- CentOS下 更改mysql数据存放目录
- 微信
- 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
- unity3d : Failed to query D3D11 context for ID3DUserDefinedAnnotation interface (hr = 0x80004002)
- 数据结构之查找算法