poj2386 Lake Counting(简单DFS)
转载请注明出处: viewmode=contents">http://blog.csdn.net/u012860063?viewmode=contents
题目链接:http://poj.org/problem?id=1562
----------------------------------------------------------------------------------------------------------------------------------------------------------
欢迎光临天资小屋:http://user.qzone.qq.com/593830943/main
----------------------------------------------------------------------------------------------------------------------------------------------------------
Description
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
* 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
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
代码例如以下:
#include <iostream>
#include <algorithm>
using namespace std;
#include <cstring>
#define TM 100+17
int N, M;
char map[TM][TM];
bool vis[TM][TM];
int xx[8]={0,1,1,1,0,-1,-1,-1};
int yy[8]={1,1,0,-1,-1,-1,0,1};
void DFS(int x, int y)
{
vis[x][y] = true;
for(int i = 0; i < 8; i++)
{
int dx = x+xx[i];
int dy = y+yy[i];
if(dx>=0&&dx<N&&dy>=0&&dy<M&&!vis[dx][dy]&&map[dx][dy] == 'W')
{
vis[dx][dy] = true;
DFS(dx,dy);
}
}
}
int main()
{
int i, j;
while(cin>>N>>M)
{
int count = 0;
memset(vis,false,sizeof(vis));
for(i = 0; i< N; i++)
{
cin>>map[i];
}
for(i = 0; i < N; i++)
{
for(j = 0; j < M; j++)
{
if(map[i][j] == 'W' && !vis[i][j])
{
count++;
DFS(i,j);
}
}
}
cout<<count<<endl;
}
return 0;
}
版权声明:本文博客原创文章,博客,未经同意,不得转载。
poj2386 Lake Counting(简单DFS)的更多相关文章
- Poj2386 Lake Counting (DFS)
Lake Counting Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 49414 Accepted: 24273 D ...
- POJ2386 Lake Counting 【DFS】
Lake Counting Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 20782 Accepted: 10473 D ...
- 【POJ - 2386】Lake Counting (dfs+染色)
-->Lake Counting 直接上中文了 Descriptions: 由于近日阴雨连天,约翰的农场中中积水汇聚成一个个不同的池塘,农场可以用 N x M (1 <= N <= ...
- POJ_2386 Lake Counting (dfs 错了一个负号找了一上午)
来之不易的2017第一发ac http://poj.org/problem?id=2386 Lake Counting Time Limit: 1000MS Memory Limit: 65536 ...
- POJ:2386 Lake Counting(dfs)
Lake Counting Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 40370 Accepted: 20015 D ...
- Openjudge1388 Lake Counting【DFS/Flood Fill】
http://blog.csdn.net/c20182030/article/details/52327948 1388:Lake Counting 总时间限制: 1000ms 内存限制: ...
- poj-2386 lake counting(搜索题)
Time limit1000 ms Memory limit65536 kB Due to recent rains, water has pooled in various places in Fa ...
- 题解报告:poj 2386 Lake Counting(dfs求最大连通块的个数)
Description Due to recent rains, water has pooled in various places in Farmer John's field, which is ...
- POJ 2386——Lake Counting(DFS)
链接:http://poj.org/problem?id=2386 题解 #include<cstdio> #include<stack> using namespace st ...
随机推荐
- POJ 2756 Autumn is a Genius 大数加减法
Description Jiajia and Wind have a very cute daughter called Autumn. She is so clever that she can d ...
- Jquery插件placeholder的用法
闲的蛋疼,演示一下Jquery插件placeholder的用法,借助该插件能够轻松实现HTML5中placeholder特效: 效果图: 实现代码: <%@ page language=&quo ...
- xcode target
A target specifies a product to build and contains the instructions for building the product from a ...
- HighChart学习-更新数据data Series与重绘
一:HighChart介绍 基于JQuery的纯JavaScript的图标库,支持各种图表显示,同时还支持Mootools 与Prototype详细版本支持在这里: JQuery 1.3.2 - 1. ...
- ORA-00600: 内部错误代码, 参数: [kqlnrc_1]
如以下的错误: Mon Mar 31 18:45:59 2014 Errors in file /oracle/app/oracle/diag/rdbms/zscims/zscims2/trace/z ...
- Jedis Client的使用以及序列化
JedisPool pool = new JedisPool(poolConfig, IP, PORT, timeout); public String set(String key,String v ...
- 左右mysql事务提交
package com.itheima.trans; import java.sql.Connection; import java.sql.PreparedStatement; import jav ...
- auto property synthesis will not synthesize proterty ;it will be implementedby its superclass, use @
Auto property synthesis will not synthesize property 'title'; it will be implemented by its supercla ...
- java split小结(转)
2016.03.27下午参加华为机试,简单扫了一眼几个题的标题,选择了一道字符串问题,其实该题非常非常的简单,可以说是简单的不能再简单了,而且有很多种解法,上机时我选择了直接借用java提供的一些函数 ...
- Android ImageButton Example 图片按钮
Android ImageButton Example 图片按钮 使用“android.widget.ImageButton” 展现一个具有背景图片的按钮 本教程将展现一个具有名字为 c.png背景图 ...
