poj2386水洼dfs
来源:互联网 发布:centos 7 锁屏 编辑:程序博客网 时间:2024/06/05 08:34
#include<stdio.h>
char a[102][102];
int d[8][2]={-1,-1,-1,0,-1,1,0,-1,0,1,1,-1,1,0,1,1}; //d数组表示方位
int n,m;
void dfs(int x,int y)
{
if(a[x][y]=='.' || x<0 || x>=n || y<0 || y>=m) return ;
for(int i=0;i<8;++i)
{
a[x][y]='.'; //把W变成点
dfs(x+d[i][0],y+d[i][1]); //递归调用
}
}
void dfs(int x,int y) //最原始的
{
if(a[x][y]=='.' || x<0 || x>=n || y<0 || y>=m) return ;
a[x][y]='.';
dfs(x-1,y-1);
dfs(x-1,y);
dfs(x-1,y+1);
dfs(x,y-1);
dfs(x,y+1);
dfs(x+1,y-1);
dfs(x+1,y);
dfs(x+1,y+1);
}
int main()
{
int i,j;
int ans=0;
scanf("%d%d",&n,&m);
getchar();
for(i=0;i<n;++i)
scanf("%s",a[i]);
for(i=0;i<n;++i) //遍历
{
for(j=0;j<m;++j)
{
if(a[i][j]=='W')
{
ans++;
dfs(i,j);
}
}
}
printf("%d",ans);
return 0;
}
/* //测试数据
10 12
W........WW.
.WWW.....WWW
....WW...WW.
.........WW.
.........W..
..W......W..
.W.W.....WW.
W.W.W.....W.
.W.W......W.
..W.......W.
*/
- poj2386水洼dfs
- 水洼 POJ2386 挑战程序设计竞赛
- POJ2386水洼问题 优先深度搜索
- poj2386-dfs
- poj2386 DFS
- POJ2386:Lake Counting(DFS)
- poj2386 Lake Counting DFS
- 简单dfs--poj2386
- POJ2386 Lake Counting(DFS)
- POJ2386 Lake Counting 【DFS】
- poj2386(dfs)
- poj2386 (DFS)
- POJ2386-简单BFS/DFS
- POJ2386经典DFS深搜
- POJ2386 Lake Counting (dfs)
- POJ2386 Lake Counting(dfs)
- poj2386 Lake Counting【DFS】
- POJ2386 Lake Counting (DFS)
- 数据可视化中的图形选择
- uva 12307(点集的外接矩形)
- MFC多线程各种线程用法
- 测试用例设计白皮书--测试用例设计综合策略
- Java中的字符串
- poj2386水洼dfs
- 十一讲,买花
- HDU 5020 Revenge of Collinearity(枚举)
- UNP卷一I/O口复用中对图6.9程序的讨论(尤其是该程序不支持批量输入的缺点)
- 蓝桥网 概率计算 题解
- 根据数据动态改变Android列表背景颜色
- 【西祠日志】【17】初识AngularJS,下一代Web应用的前端
- 使用Dom解析xml文件的属性节点
- 妙味课堂视频笔记总结