POJ 1562 dfs求连通分量的个数
来源:互联网 发布:linux oracle 进程 编辑:程序博客网 时间:2024/06/05 14:24
题意:求连通分量的个数
分析:直接用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 dfs求连通分量的个数
- POJ 1562 Oil Deposits(DFS:求八连通分量个数)
- (java)DFS求连通分量的个数
- POJ 2386 Lake Counting(DFS:求8连通分量的个数)
- zoj 2412 dfs 求连通分量的个数
- hdu 1241 dfs求连通分量个数
- 求连通分量(DFS)
- Poj 3180 The Cow Prom【求强连通分量中元素个数大于1的个数】
- 连通分量个数(dfs)
- POJ 3620 Avoid The Lakes(简单DFS求连通分量)
- hdu4496 求连通分量个数
- POJ 1562 Oil Deposits(DFS,八连通,连通分量)
- dfs hdu 1241 寻找连通分量的个数
- 关于求无向图的连通分量的个数
- zoj 3630(tajan)求强连通分量的个数
- hdu 1232 并查集 求连通分量的个数
- poj 3180 统计连通分量元素大于一的个数
- 双DFS求强连通分量
- CSS 随记
- POJ 1258 prim模版求最小生成树
- POJ3026 bfs+prim
- ZOJ2110 dfs+剪枝
- POJ 1979 简单dfs||bfs
- POJ 1562 dfs求连通分量的个数
- Arab and North African Region,2002(Snakes & ladders)
- POJ 2243 bfs
- POJ 1300 判断欧拉回路
- acm和做人有关系?
- POJ 1780 欧拉i回路判断&&输出欧拉回路
- fleury算法输出欧拉回路
- POJ 1511 spfa求最短回路
- POJ1847 floyd求最短路径