UVA 572
来源:互联网 发布:cmd修复网络连接 编辑:程序博客网 时间:2024/06/05 01:09
递归,进行图的深度遍历,在遍历的过程中,记得做出相应的统计和标记即可,具体实现见代码
#include<iostream>#include<vector>#include<string>#include<set>#include<stack>#include<queue>#include<map>#include<algorithm>#include<cmath>#include<iomanip>#include<cstring>#include<sstream>using namespace std;int m, n;char area[100][100];int num[100][100];void dfs(int i,int j,int id){if (i < 0 || i >= m || j < 0 || j >= n) return;if (area[i][j] != '@' || num[i][j] != -1) return;num[i][j] = id;dfs(i,j+1,id);dfs(i,j-1,id);dfs(i+1,j,id);dfs(i-1,j,id);dfs(i-1,j+1,id);dfs(i-1,j-1,id);dfs(i+1,j+1,id);dfs(i+1,j-1,id);}int main(){while (cin >> m >> n){memset(num,-1,sizeof(num));if (m == 0) break;for (int i = 0; i < m; i++){for (int j = 0; j < n; j++) cin >> area[i][j];}int id = 0;for (int i = 0; i < m; i++){for (int j = 0; j < n; j++){if (num[i][j] == -1 && area[i][j] == '@'){id++;dfs(i, j, id);}}}cout << id << endl;}//system("pause");return 0;}
阅读全文
0 0
- UVa 572
- UVA 572
- UVA 572
- uva 572
- uva --572
- uva 572
- uva 572
- uva 572
- uva 572
- uva 572
- UVA 572
- UVA 572
- UVA 572
- uva 572 - Oil Deposits
- uva 572 - Oil Deposits
- uva 572 - Oil Deposits
- uva-572-Oil Deposits
- UVa 572 - Oil Deposits
- FFMPEG在VS2010中的配置
- JQuery_JQuery对象和DOM对象的区别和转换
- C语言程序案例
- 获取网站源代码 python
- VideoView与SurfaceView
- UVA 572
- 初学Python写的小程序,记录记录!
- HUST
- 配置C++17开发环境的codeblock&&eclipse
- 【POI2011】Tree Rotations(线段树合并)
- Linux下标准缓冲区的清空
- Redis入门
- Linux系统编程-守护进程
- NYOJ 66 分数拆分