【首先膜拜大湿】poj-2386-Lake Counting-DFS模板题
2013-11-05 20:38
495 查看
Lake Counting
DescriptionDue 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 figureout 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.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.Output* Line 1: The number of ponds in Farmer John's field.Sample Input
Time Limit: 1000MS | Memory Limit: 65536K | |
Total Submissions: 16802 | Accepted: 8523 |
10 12 W........WW. .WWW.....WWW ....WW...WW. .........WW. .........W.. ..W......W.. .W.W.....WW. W.W.W.....W. .W.W......W. ..W.......W.Sample Output
3
题目如上:
AC代码如下:
#include<iostream>#include<stdio.h>#define Max 105using namespace std;char f[Max][Max];int N ,M;void DFS(int x,int y){f[x][y] = '.';for(int dx = -1; dx <= 1; dx++)for(int dy = -1; dy <= 1; dy++){int nx, ny;nx = x + dx; ny = y + dy;if(nx < N&& ny < M&& nx >= 0&& ny >= 0&&f[nx][ny] == 'W') DFS(nx,ny);}return ;}int main(){int res = 0,i,j;cin>>N;cin>>M;for(i = 0; i < N; i++)scanf("%s",&f[i]);for(int i = 0; i < N; i++)for(int j = 0; j < M; j++)if(f[i][j] == 'W'){DFS(i,j);res++;}printf("%d\n",res);}【存在的问题】1、脑残地把坐标轴坐标和矩阵的坐标对应起来了;
2、解决了以上问题后程序还是在傲娇地RE,原来还是脑残地把“=”敲成“==”了;
再后来程序还傲娇地WA了,于是
3、经大湿的指点把原输入
for(i = 0; i < N; i++)
for(j = 0; j < M; j++)
scanf("%c",&f[i][j]);
换成了
for(i = 0; i < N; i++)
scanf("%s", &f[i]);
蓝后就AC了~~o(≧v≦)o~~
原因就是%c输入把换行符给吃掉了~~蓝后造成了移位。。。。
ORZ。。。。
相关文章推荐
- poj 2386 Lake Counting 【dfs(模板)】
- poj 2386 Lake Counting(dfs)
- POJ-2386 Lake Counting(dfs)(白书2.1.4)
- POJ 2386 Lake Counting(水淹菜地,DFS,八连通,连通分量)
- POJ 2386 Lake Counting (DFS)
- POJ 2386 Lake Counting (DFS)
- POJ 2386 Lake Counting(DFS)
- DFS:Lake Counting(POJ 2386)
- POJ 2386 Lake Counting (DFS)
- poj 2386 Lake Counting(DFS 杂这么多这种类型的水题啊。。。。)
- (Relax DFS专题1.2)POJ 2386 Lake Counting(使用DFS来计算有多少坨东西是连通的)
- POJ - 2386 Lake Counting (DFS)
- POJ 2386 Lake Counting (dfs)
- POJ 2386 - Lake Counting(DFS)
- poj 2386 Lake Counting (DFS~)
- POJ 2386 Lake Counting(DFS:求8连通分量的个数)
- POJ2386 Lake Counting(DFS)
- POJ 2386--Lake Counting [dfs] 《挑战程序设计竞赛》2.1
- POJ 2386 Lake Counting (DFS-floodfill)
- POJ2386 Lake Counting (DFS)