POJ2386Lake Counting
来源:互联网 发布:阿里云服务器到期后 编辑:程序博客网 时间:2024/05/17 02:12
Lake Counting
Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 34226 Accepted: 17020
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 p
onds he has.
Given a diagram of Farmer John's field, determine how many p
onds 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<cstdio>int N,M,book[101][101];char s[101][101];void dfs(int x,int y){ int next[8][2]={{0,1},{1,1},{1,0},{1,-1},{0,-1},{-1,-1},{-1,0},{-1,1}}; int tx,ty; s[x][y]='.'; for(int k=0;k<=7;k++) { tx=x+next[k][0]; ty=y+next[k][1]; if(tx<1||ty<1||tx>N||ty>M) continue; if(book[tx][ty]==0&&s[tx][ty]=='W') { book[tx][ty]=1; dfs(tx,ty); } } return;}int main(){ int sum=0; scanf("%d%d",&N,&M); getchar(); for(int i=1;i<=N;i++) { for(int j=1;j<=M;j++) { scanf("%c",&s[i][j]); } getchar(); } for(int i=1;i<=N;i++) for(int j=1;j<=M;j++) { if(s[i][j]=='W') { dfs(i,j); sum++; } } printf("%d",sum); return 0;}
0 0
- poj2386Lake Counting
- poj2386Lake Counting
- POJ2386Lake Counting
- poj2386Lake Counting(dfs)
- poj2386Lake Counting之dfs
- poj2386Lake Counting(DFS算法)
- Polya Counting
- Counting sort
- POJ_2386_Lake Counting
- Counting Sequences
- Counting-ACM
- Counting sort
- uva10198 Counting
- Counting sort
- Counting Sheep
- Counting Ones
- Lake Counting
- Counting Squares
- 新路程------从零开始git
- Mybatis(3、延迟加载、查询缓存、与ehcache整合、逆向工程、与spring整合)
- Bean配置(XML)【理解】【应用】【重点】
- Linux 开机启动nginx
- Java基础知识温故知新——(1)
- POJ2386Lake Counting
- 浏览器兼容模式打不开网页,极速模式可以的解决方法
- find_or_initialize_by 跟 find_or_create_by的不同
- STM32:DMA实例之串口(USART)通信
- 斯蒂芬斯蒂芬
- 厦大spark----Spark MLlib介绍
- xampp配置和手机端查看前端代码效果。
- 使用互斥量保证程序最多只有一个实例运行
- Let's Chat(区间)