UVa 572 Oil Desposits (dfs 图 染色 八连通种子填充)
来源:互联网 发布:浙江卫视直播软件 编辑:程序博客网 时间:2024/05/30 23:09
#include<iostream>#include<cstdio>#include<string>#include<cstring>#include<cstdlib>#include<algorithm>#define N 105 using namespace std;int m,n;char map[N][N];int ans;int visited[N][N];void dfs(int i,int j){if(i < 0 || i >= m || j < 0 || j >= n || visited[i][j] || map[i][j] == '*')//终止条件:①走到边界了②已经走过了③不是符号@ return ; visited[i][j] = 1; dfs(i+1,j);//在每一个点处都有八个方向可以走 其中八个方向可以通过一个二重循环来代替(见《算法入门经典》P163) dfs(i-1,j); dfs(i,j-1); dfs(i,j+1); dfs(i+1,j+1); dfs(i-1,j-1); dfs(i-1,j+1); dfs(i+1,j-1);}int main(){//freopen("E:\\in.txt","r",stdin);//freopen("E:\\out.txt","w",stdout);while(cin>>m>>n){ if(!m) break; memset(map,0,sizeof(map)); memset(visited,0,sizeof(visited)); ans=0; for(int i = 0; i < m; ++i) for(int j = 0; j < n; ++j) cin>>map[i][j]; for(int i = 0; i < m; ++i) for(int j = 0; j < n; ++j) if(!visited[i][j] && map[i][j] == '@') { ans++; dfs(i,j); } cout<<ans<<endl;}return 0;}
阅读全文
0 0
- UVa 572 Oil Desposits (dfs 图 染色 八连通种子填充)
- UVA572 Oil Deposits(DFS求连通块(floodfill 种子填充))
- Uva 572 Oil Deposits 油田 (DFS求连通块)
- Flood fill种子填充(DFS求连通快)
- POJ 1562 Oil Deposits(DFS,八连通,连通分量)
- UVA 784 Maze Exploration (DFS || 种子填充)
- HDOJ1241 Oil Deposits(DFS,八连通块)
- UVa 572 Oil Deposits(DFS求8连通块)
- UVA 572 Oil Deposits dfs求连通块
- UVa - 572 - Oil Deposits(dfs求连通块)
- 经典第六章 例题 6-12 UVA 572 Oil Deposits(用DFS求连通块)
- 用DFS求连通块(油田Oil Deposits,UVa 572)
- uva-572 种子填充floodfill
- uva 572 Oil Deposits(DFS遍历图)
- UVA - 572 - Oil Deposits (图的DFS!)
- UVa 572 - Oil Deposits【图DFS】
- UVA 572 - Oil Deposits(DFS)
- UVa 572 - Oil Deposits (简单dfs)
- Tampermonkey获取渲染后的HTML
- 开源C++函数库Boost内存池使用与测试
- 数据结构实验之查找四:二分查找
- Java中常用的加密方法(JDK)
- 《Java虚拟机原理图解》1.3、class文件中的访问标志、类索引、父类索引、接口索引集合
- UVa 572 Oil Desposits (dfs 图 染色 八连通种子填充)
- Spring Boot教程七:集成redis
- vim详解
- Educational Codeforces Round 34 (Rated for Div. 2)
- git命令之git tag 给当前分支打标签
- 协议
- dql数据权限控制
- HTML5新增语义元素
- Linux userdel 和 deluser 的区别