POJ 1562 dfs求连通分量的个数
2013-03-27 21:48
477 查看
题意:求连通分量的个数
分析:直接用dfs,每次返回一次,sum++;
View Code
分析:直接用dfs,每次返回一次,sum++;
View Code
#include<cstdio> #include<cstring> #include<iostream> using namespace std; const int maxn = 110; char str[maxn][maxn]; int xx,yy; int n,m; int sum; int dir[8][2]={{-1,1},{0,1},{1,1},{-1,0},{1,0},{-1,-1},{0,-1},{1,-1}}; void dfs(int si,int sj){ str[si][sj]='*'; for(int i=0;i<8;i++){ xx=si+dir[i][0]; yy=sj+dir[i][1]; if(xx<0||yy<0||xx>=m||yy>=n){ continue; } if(str[xx][yy]=='@'){ dfs(xx,yy); } } } int main(){ while(scanf("%d",&m)!=EOF){ if(m==0) break; scanf("%d",&n); for(int i=0;i<m;i++){ scanf("%s",str[i]); } sum=0; for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ if(str[i][j]=='@'){ dfs(i,j); sum++; } } } printf("%d\n",sum); } return 0; }
相关文章推荐
- POJ 1562 Oil Deposits(DFS,八连通,连通分量)
- POJ 1562 dfs求连通分量的个数
- poj2186——双dfs求强连通分量
- poj1562 Oil Deposits(dfs求联通分量)
- POJ 2386 Lake Counting(水淹菜地,DFS,八连通,连通分量)
- POJ 1562 Oil Deposits(DFS:求八连通分量个数)
- ZOJ1709 || POJ 1562 DFS 水 求强连通的个数
- poj1562 DFS/BFS连通块
- POJ 3620 Avoid The Lakes(连通分量,DFS)
- poj3160强连通分量加dfs
- POJ 2942 Knights of the Round Table 点全连通分量 + DFS染色 做的好辛苦
- hdu 1241 dfs求连通分量个数
- PAT 甲级 1021. Deepest Root(dfs:无向图的最远路径、连通分量个数)
- poj 1523 求无向图所有割点以及删除割点后连通分量个数 给出详细算法思路
- SDUT OJ 之 连通分量个数 (dfs)
- 强连通分量分解 Kosaraju算法 (poj 2186 Popular Cows)
- 9.5-uva-1627-Team them up-动态规划-图-连通分量-DFS(WA)
- POJ 2186(有向图的强连通分量Tarjan)
- poj1562--DFS
- 1021. Deepest Root (25)-PAT甲级真题(图的遍历,dfs,连通分量的个数)