poj2386 (DFS)
来源:互联网 发布:淘宝全套模板 编辑:程序博客网 时间:2024/06/06 16:06
Lake Counting
Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 28816 Accepted: 14437
Description
Due to recent rains, water has pooled in various places in Farmer John's field, which is represented by a rectangle of N x M (1 <= N <= 100; 1 <= M <= 100) squares. Each square contains either water ('W') or dry land ('.'). Farmer John would like to figure out how many ponds have formed in his field. A pond is a connected set of squares with water in them, where a square is considered adjacent to all eight of its neighbors.
Given a diagram of Farmer John's field, determine how many ponds he has.
Given a diagram of Farmer John's field, determine how many ponds he has.
Input
* Line 1: Two space-separated integers: N and M
* Lines 2..N+1: M characters per line representing one row of Farmer John's field. Each character is either 'W' or '.'. The characters do not have spaces between them.
* Lines 2..N+1: M characters per line representing one row of Farmer John's field. Each character is either 'W' or '.'. The characters do not have spaces between them.
Output
* Line 1: The number of ponds in Farmer John's field.
Sample Input
10 12W........WW..WWW.....WWW....WW...WW..........WW..........W....W......W...W.W.....WW.W.W.W.....W..W.W......W...W.......W.
Sample Output
3
Hint
OUTPUT DETAILS:
There are three ponds: one in the upper left, one in the lower left,and one along the right side.
There are three ponds: one in the upper left, one in the lower left,and one along the right side.
Source
USACO 2004 Novembe
#include<stdio.h>#include<iostream>#include<algorithm>#include<string.h>char a[110][110];//标记园子int n,m;void DFS(int x,int y){ a[x][y]='.';//将搜索过的w的位置转换成'.' for(int dx=-1;dx<=1;dx++)//循环遍历8个方向 { for(int dy=-1;dy<=1;dy++) { int nx=dx+x; int ny=dy+y; if(nx>=0&&nx<n&&ny>=0&&ny<m&&a[nx][ny]=='W') DFS(nx,ny); } }}int main(){ scanf("%d%d",&n,&m); for(int i=0;i<n;i++) { scanf("%s",a[i]); } int sum=0; for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { if(a[i][j]=='W')//从W位置搜索 { DFS(i,j); sum++; } } } printf("%d\n",sum);}
0 0
- poj2386(dfs)
- poj2386 (DFS)
- DFS(POJ2386)精简版
- poj2386(BFS与DFS)
- POJ2386:Lake Counting(dfs)
- poj2386-dfs
- poj2386 DFS
- poj2386 Lake Counting(简单DFS)
- POJ2386:Lake Counting(DFS)
- poj2386 Lake Counting DFS
- 简单dfs--poj2386
- POJ2386 Lake Counting(DFS)
- POJ2386 Lake Counting 【DFS】
- poj2386水洼dfs
- POJ2386-简单BFS/DFS
- POJ2386经典DFS深搜
- POJ2386 Lake Counting (dfs)
- POJ2386 Lake Counting(dfs)
- 使用okhttp时出现错误
- 优化tips-归档
- ie8/9本地的跨域访问时session变化
- Tomcat设置session超时的几种方式
- 用interrupt()中断Java线程
- poj2386 (DFS)
- 【HDU 1287】Networking(最小生成树Prim)
- hihoCoder_1032_最大回文串
- Proximal Algorithms
- hdoj1002A + B Problem II(大数相加)
- Tomcat类加载机制
- 杭电OJ1048-The Hardest Problem Ever
- [Headset]如何在ADB shell中读取耳机状态和读取ACCDET寄存器
- 动态规划之最长递增子序列