poj1562 DFS/BFS连通块
来源:互联网 发布:centos服务器测速 编辑:程序博客网 时间:2024/04/29 23:32
#include <iostream>#include <queue>#include <cstring>#include <cstdio>#include <vector>#define sf scanf#define pf printf#define mem(vis,a) memset(visit,a,sizeof(visit));using namespace std;char g[100][100];int n,m;int dir[8][2]={{1,0},{-1,0},{0,1},{0,-1},{1,1},{1,-1},{-1,1},{-1,-1}};int visit[100][100];void dfs(int x,int y){ for(int i=0;i<8;i++) { int nx,ny; nx=x+dir[i][0]; ny=y+dir[i][1]; if(nx<n&&nx>=0&&ny<m&&ny>=0&&g[nx][ny]=='@'&&!visit[nx][ny]) { visit[nx][ny]=1; dfs(nx,ny); } }}int main(){ while(cin>>n>>m&&(n+m)) { mem(visit,0); for(int i=0;i<n;i++) for(int j=0;j<m;j++) cin>>g[i][j]; int ans=0; for(int i=0;i<n;i++) for(int j=0;j<m;j++) { if(g[i][j]=='@'&&!visit[i][j]) { visit[i][j]=1; dfs(i,j); ++ans; } } cout<<ans<<endl; }}
#include <iostream>//BFS#include <queue>#include <cstring>#include <cstdio>#include <vector>#define sf scanf#define pf printf#define mem(vis,a) memset(visit,a,sizeof(visit));using namespace std;struct point{ int x; int y;point(){} point(int x,int y){this->x=x;this->y=y;}};char g[100][100];int n,m;int dir[8][2]={{1,0},{-1,0},{0,1},{0,-1},{1,1},{1,-1},{-1,1},{-1,-1}};int visit[100][100];void bfs(int x,int y){ queue<point>Q; Q.push(point(x,y)); visit[x][y]=1; while(!Q.empty()) { point np=Q.front(); Q.pop(); for(int i=0;i<8;i++) { int nx,ny; nx=np.x+dir[i][0]; ny=np.y+dir[i][1]; if(nx<n&&nx>=0&&ny<m&&ny>=0&&g[nx][ny]=='@'&&!visit[nx][ny]) { visit[nx][ny]=1; Q.push(point(nx,ny)); } } }}int main(){ while(cin>>n>>m&&(n+m)) { mem(visit,0); for(int i=0;i<n;i++) for(int j=0;j<m;j++) cin>>g[i][j]; int ans=0; for(int i=0;i<n;i++) for(int j=0;j<m;j++) { if(g[i][j]=='@'&&!visit[i][j]) { bfs(i,j); ++ans; } } cout<<ans<<endl; } return 0;}
0 0
- poj1562 DFS/BFS连通块
- UVA572 POJ1562 oil deposits(DFS求连通块问题)
- DFS:POJ1562-Oil Deposits(求连通块个数)
- HDU1241 DFS/BFS 求连通块
- vijos 1051 BFS/DFS 连通块
- hdu1241(dfs连通块)
- dfs连通块2
- poj1562--DFS
- 图 dfs遍历连通块
- 用DFS求连通块
- 用DFS求连通块
- hud1241-DFS求连通块
- C++ DFS求连通块
- poj1562 Oil Deposits 简单搜索,dfs和bfs都行,我用的bfs
- poj1562 Oil Deposits BFS
- POJ1562 dfs水题
- POJ1562:Oil Deposits(DFS)
- poj1562(八个方向dfs)
- iOS 友盟微博分享文字+图片+链接实现
- [leetcode] 279. Perfect Squares
- POJ3984 BFS 输出路径
- PhpStorm 注册码 PhpStorm10 PhpStorm9 PhpStorm8 JetBrains key
- android中view的两种更新机制
- poj1562 DFS/BFS连通块
- 基于NX的研发产品设计管理平台实现(十二)-图纸及文档管理
- 替换字符串
- 教你铜币帮助笔记本散热
- HP-UX之Samba设定(CIFS)
- 8.17 随想
- 如何识别高级的验证码
- [leetcode] 129. Sum Root to Leaf Numbers
- 两张图总结 Neutron 架构 - 每天5分钟玩转 OpenStack(74)