POJ-2386-Lake Counting
2016-04-15 20:40
399 查看
Lake Counting
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.
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
Sample Output
Hint
OUTPUT DETAILS:
There are three ponds: one in the upper left, one in the lower left,and one along the right side.
深搜,记录一下深搜的次数就可以了
Time Limit: 1000MS | Memory Limit: 65536K | |
Total Submissions: 27328 | Accepted: 13730 |
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.
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
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
Hint
OUTPUT DETAILS:
There are three ponds: one in the upper left, one in the lower left,and one along the right side.
深搜,记录一下深搜的次数就可以了
#include <stdio.h> int n,m; char map[101][101]; void dfs(int i,int j) { if(i>=0&&j>=0&&i<n&&j<m&&map[i][j]=='W') { map[i][j]='.'; dfs(i,j+1); dfs(i,j-1); dfs(i+1,j); dfs(i-1,j); dfs(i-1,j-1); dfs(i-1,j+1); dfs(i+1,j-1); dfs(i+1,j+1); } } int main() { int i,j,count; count=0; scanf("%d%d",&n,&m); getchar(); for(i=0;i<n;i++) { for(j=0;j<m;j++) { scanf("%c",&map[i][j]); } getchar(); } for(i=0;i<n;i++) { for(j=0;j<m;j++) { if(map[i][j]=='W') { dfs(i,j); count++; } } } printf("%d\n",count); return 0; }
相关文章推荐
- 最新springMVC+spring3.1.1+hibernate4.1.0集成及常见问题总结.doc
- 通过按钮跳过SplashActivity(启动画面),延时自动跳过SplashActivity进入MainActivity
- ul建立1000个li
- Linux嵌入式之————网络编程socket
- 《VR入门系列教程》之22---GearVR SDK代码剖析
- paper 56 :机器学习中的算法:决策树模型组合之随机森林(Random Forest)
- 最长公共子序列(LCS)、最长递增子序列(LIS)、最长递增公共子序列(LICS)
- 22个值得收藏的android开源代码-UI篇
- Hibernate EhCache 二级缓存配置.pdf
- 控件抖动动画
- 《VR入门系列教程》之21---使用Unity开发GearVR应用
- 技术记录---杀死应用进程账号数据被清空问题
- NYOJ-499-迷宫
- 《VR入门系列教程》之20---使用Oculus移动端SDK
- php下foreach()错误提示Warning: Invalid argument supplied for foreach()
- 面试题:什么叫红黑树
- 查找算法——————二分搜索
- Spring实践:面向切面编程(AOP)
- EFI引导及GPT分区
- 了解四大主流浏览器内核