poj 2386 Lake Counting
来源:互联网 发布:做广告用什么软件 编辑:程序博客网 时间:2024/06/06 11:49
Lake Counting
Time Limit: 1000MS
Memory Limit: 65536KTotal Submissions: 17917
Accepted: 9069
Memory Limit: 65536KTotal Submissions: 17917
Accepted: 9069
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
深搜
附代码
#include <iostream>#include <cstring>using namespace std;int n,m,ans,book[1010][1010];char a[1010][1010];int dx[] = {-1,-1,-1,0,0,1,1,1};int dy[] = {-1,0,1,-1,1,-1,0,1};void dfs(int x,int y){for(int i = 0;i<8;i++){int xx = x + dx[i];int yy = y + dy[i];if(xx >= 0 && xx < n && yy >=0 && yy < m && a[xx][yy] == 'W' && book[xx][yy] == 0){book[xx][yy] = 1;dfs(xx,yy);}}}int main(){while(cin >> n >> m){if(n == 0 && m == 0)break;memset(book,0,sizeof(book));ans = 0;for(int i = 0;i<n;i++)for(int j = 0;j<m;j++)cin >> a[i][j];for(int i = 0;i<n;i++){for(int j = 0;j<m;j++){if(a[i][j] == 'W' && book[i][j] == 0){ans++;dfs(i,j);}}}cout<<ans<<endl;}}
阅读全文
0 0
- poj 2386 Lake Counting
- poj 2386 Lake Counting
- POJ 2386 Lake Counting
- poj 2386 Lake Counting
- poj 2386 Lake Counting
- poj 2386 Lake Counting
- POJ 2386 Lake Counting
- poj 2386 Lake Counting
- POJ 2386 Lake Counting
- POJ 2386 Lake Counting
- poj 2386 Lake Counting
- POJ 2386 Lake Counting
- POJ 2386 Lake Counting
- POJ-2386-Lake Counting
- POJ 2386 Lake Counting
- poj 2386 Lake Counting
- Poj 2386 Lake Counting
- poj 2386 Lake Counting
- 网络须知UDP vs TCP
- C#文件与数据流
- java根据ip地址获取详细地域信息
- Classification of Alzheimer’s Disease Using Whole Brain Hierarchical Network
- 欢迎使用CSDN-markdown编辑器
- poj 2386 Lake Counting
- 链式前向星
- Linux下修改Mysql的用户(root)的密码
- c++考试总结(二)
- windows 下使用make命令,编译代码
- 迭代器实现Vector
- python的list类型常用操作
- MFC网络编程(三):一般TCP通信
- 通过mavros调用px4遇得到的问题