水池数目

题目描述:

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

输入描述:

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

解题思路:

这是个bfs模板,就是看有多少片1

程序代码:

#include<stdio.h>
#include<queue>
using namespace std;
struct node{int x;int y;
};
int m,n;
int a[110][110];
int bfs(int x,int y);
int main()
{int T,i,j,sum;scanf("%d",&T);while(T--){scanf("%d%d",&m,&n);for(i=0;i<m;i++)for(j=0;j<n;j++)scanf("%d",&a[i][j]);sum=0;for(i=0;i<m;i++)for(j=0;j<n;j++)if(a[i][j]==1){sum++;bfs(i,j);}printf("%d\n",sum);}return 0;
}
int bfs(int x,int y)
{int i;int next[4][2]={0,1,1,0,0,-1,-1,0};queue<node>q;node A,B;A.x=x;A.y=y;q.push(A);while(!q.empty()){A=q.front();q.pop();for(i=0;i<4;i++){B.x=A.x+next[i][0];B.y=A.y+next[i][1];if(B.x<0||B.y<0||B.x>m-1||B.y>n-1)continue;if(a[B.x][B.y]==1){a[B.x][B.y]=0;q.push(B);}}}
}

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

  1. nyoj27 水池数目 BFS

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

  2. nyoj27 水池数目

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

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

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

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

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

  5. Nyoj 27 水池数目

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

  6. NYOJ(21),BFS,三个水杯

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=21 BFS判环,vis标记状态即可. #include <stdio.h> # ...

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

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

  8. nyoj58 水池数目

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

  9. NYOJ-水池数目(dfs)

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

最新文章

  1. java qt jni_java JNI 实现原理 (二) Linux 下如何 load JNILibrary
  2. python 预编译命令_Python子进程调用预编译j
  3. [zz]为 Lua 绑定 C/C++ 对象
  4. 【深度学习】Tensorflow的基本操作
  5. 【线性代数本质】2:线性组合和线性相关和线性无关以及张成的空间
  6. Android源码之路(二、AsyncTask)
  7. spring boot部署实战
  8. ColorPix——到目前为止最好用的屏幕取色器
  9. 三星手机刷机后显示无服务器,三星Odin刷机工具连接不上_Odin工具识别不了手机的问题...
  10. 使用百度的地图生成器部署到https域名
  11. winrar命令行加压解密
  12. 51单片机LCD1602液晶屏显示方法
  13. 「Python 网络自动化」Nornir—— Inventory(主机清单)介绍
  14. Netty 学习笔记(已完结)
  15. 80后男人的脱单技巧
  16. 刚开始投资黄金理财,怎么扩大自己的小金库
  17. android 2k屏分辨率,2K、4K、8K分辨率屏幕有用吗?看看它们怎么说!
  18. 云原生系列 六【轻松入门容器基础操作】
  19. Azure 媒体服务可将优质内容传输至 Apple TV
  20. 重贴:MFC类中获得其它类指针 (转)

热门文章

  1. JavaScript数值类型及变量
  2. 利用bobo-browse 实现lucene的分组统计功能
  3. 手机电池的更换标准/指标 最近小米手机换电池那些事
  4. springAOP与注解
  5. transport方式连接Elasticsearch6.2.3
  6. Go 字典(Map)
  7. CSS 布局 - Overflow
  8. java 减少内存_java-减少应用程序内存占用
  9. 怎样写出没有bug的代码?
  10. 杂谈!了解一些额外知识,让你的前端开发锦上添花