poj 2386 Lake Counting
2013-04-17 21:35
309 查看
分类:图论 难度:1
题意:n*m的矩阵,'.'表示没有水,'W‘表示有水,每个格与周围八格均相连,问水连接成的区域有几个。
遍历每个格,简单dfs即可,用标记数组flag防止重复搜索。
题意:n*m的矩阵,'.'表示没有水,'W‘表示有水,每个格与周围八格均相连,问水连接成的区域有几个。
遍历每个格,简单dfs即可,用标记数组flag防止重复搜索。
#include<cstdio> #include<cstring> const int N=110; int n,m,ans; char f ; bool flag ; void dfs(int i,int j) { if(i<0 || j<0 || i>=n ||j>=m) return; if(flag[i][j] || f[i][j]=='.') return; flag[i][j]=1; dfs(i-1,j-1); dfs(i-1,j); dfs(i-1,j+1); dfs(i,j-1); dfs(i,j+1); dfs(i+1,j-1); dfs(i+1,j); dfs(i+1,j+1); } int main() { while(~scanf("%d%d",&n,&m)) { memset(flag,0,sizeof(flag)); int i,j; ans=0; for(i=0;i<n;i++) scanf("%s",f[i]); for(i=0;i<n;i++) for(j=0;j<m;j++) if(!flag[i][j] && f[i][j]=='W') { ans++; dfs(i,j); //printf("%d %d %d\n",i,j,ans); } printf("%d\n",ans); } }
相关文章推荐
- POJ 之2386 Lake Counting
- poj 2386 Lake Counting-----DFS
- POJ 2386 Lake Counting
- poj 2386 Lake Counting(DFS 杂这么多这种类型的水题啊。。。。)
- poj-2386 Lake Counting
- DFS 之 poj 2386 Lake Counting
- POJ-2386-Lake Counting
- poj 2386 lake counting
- POJ 2386--Lake Counting [dfs] 《挑战程序设计竞赛》2.1
- POJ:2386 Lake Counting(dfs)
- POJ--2386 Lake Counting
- poj 2386 Lake Counting (BFS~)
- POJ 2386 Lake Counting-------BFS
- POJ 2386 Lake Counting
- POJ 2386 Lake Counting(DFS)
- POJ 2386 Lake Counting
- POJ 2386 - Lake Counting(DFS)
- poj 2386 Lake Counting
- POJ 2386 Lake Counting
- POJ 2386 Lake Counting