bzoj 1751 [Usaco2005 qua]Lake Counting
来源:互联网 发布:淘宝油画 莫奈的花园 编辑:程序博客网 时间:2024/06/04 19:49
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.
OutputLine 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
OUTPUT DETAILS:
There are three ponds: one in the upper left, one in the lower left,
and one along the right side.
HINT
Source
Gold
USACO Gold 题,没有难度。。
#include <bits/stdc++.h>using namespace std;const int mx[8] = {1,1,1,0,0,-1,-1,-1};const int my[8] = {1,0,-1,1,-1,1,0,-1};int n,m,ans;int a[110][110];void dfs(int x,int y){ a[x][y] = 0; for (int k = 0; k < 8; k ++) { int nx = mx[k] + x; int ny = my[k] + y; if (a[nx][ny]) dfs(nx,ny); }}inline int read(){ int x = 0, f = 1; char ch = getchar(); while (ch < '0' || ch > '9') { if (ch == '-') f = -1; ch = getchar(); } while (ch >= '0' && ch <= '9') { x = x * 10 + ch - '0'; ch = getchar(); } return x * f;}int main(){ n = read(); m = read(); for(int i = 1; i <= n; i ++) for(int j = 1; j <= m; j ++) { char ch; cin >> ch; if(ch == 'W') a[i][j] = 1; } for(int i = 1; i <= n; i ++) for(int j = 1; j <= m; j ++) if(a[i][j]) { dfs(i, j); ans ++; } printf("%d",ans); return 0;}
- bzoj 1751 [Usaco2005 qua]Lake Counting
- 1751: [Usaco2005 qua]Lake Counting (搜索)
- bzoj1751 [Usaco2005 qua]Lake Counting
- bzoj1751 [Usaco2005 qua]Lake Counting
- [bzoj1751][Usaco2005 qua]Lake Counting
- bzoj 1754: [Usaco2005 qua]Bull Math
- BZOJ[1750/3384]: [Usaco2005 qua]Apple Catching
- BZOJ 1754: [Usaco2005 qua]Bull Math 高精乘
- BZOJ 3384: [Usaco2004 Nov]Apple Catching 接苹果/BZOJ 1750: [Usaco2005 qua]Apple Catching dp
- bzoj1754 [Usaco2005 qua]Bull Math
- bzoj1755 [Usaco2005 qua]Bank Interest
- 1755: [Usaco2005 qua]Bank Interest
- bzoj1750 [Usaco2005 qua]Apple Catching
- bzoj1755 [Usaco2005 qua]Bank Interest
- bzoj1754: [Usaco2005 qua]Bull Math
- bzoj1755 [Usaco2005 qua]Bank Interest
- bzoj1754 [Usaco2005 qua]Bull Math
- Lake Counting
- 面试算法总结
- 使用SQL Nexus整合----熟悉SQL Nexus
- Spring学习(十六)Spring Bean内容模型介绍
- Endless Punishment——HOJ
- leetcode-Java-202. Happy Number
- bzoj 1751 [Usaco2005 qua]Lake Counting
- SQL Server 2012内部原理及故障排除(专栏)
- 数据结构二叉树的递归遍历
- 如何让网页大小自适应的JS代码
- 凸优化性质的证明
- ExpandableListView使用心得
- Gallery 横向滑动的刻度尺
- win10 vmware station 12.1 虚拟机系统 ubuntu linux12.04问题
- 【MyBatis框架点滴】——MyBatis一对多查询