博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GZS与小公园(DFS)
阅读量:4661 次
发布时间:2019-06-09

本文共 897 字,大约阅读时间需要 2 分钟。

Description

 

某天GZS漫步在学校新建的小公园,他发现那里建成了一些水池和小河道。我们暂且把它们统一看成水池。假设公园旁有一张小公园的地图,上面仅标识了此处是否是水池,你能帮GZS计算出该地图中一共有几个水池吗。

Input

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

Output

输出该地图中水池的个数。

Sample Input 1 

23 41 0 0 0 0 0 1 11 1 1 05 51 1 1 1 00 0 1 0 10 0 0 0 01 1 1 0 00 0 1 1 1

Sample Output 1

23

Hint

要注意,每个水池的旁边(上下左右四个位置)如果还是水池的话的话,它们可以看做是同一个水池。

Source

qduoj 第一次月赛 for 2014级

深搜一下就ok

代码:

#include
#include
#include
#include
using namespace std;int map[105][105];int vis[105][105];int l,r;int dis[4][2]= {
{0,1},{0,-1},{-1,0},{1,0}};int dfs(int x,int y) { vis[x][y]=1; for(int t=0; t<4; t++) { int xx=x+dis[t][0]; int yy=y+dis[t][1]; if(xx>=0&&yy
=0&&xx
>n; for(int t=0; t

 

转载于:https://www.cnblogs.com/Staceyacm/p/10781855.html

你可能感兴趣的文章