算法竞赛入门经典 例题 6-12 油田(Oil Deposits, UVa 572)
来源:互联网 发布:古典气质知乎 编辑:程序博客网 时间:2024/05/21 17:25
输入一个m行n列的字符矩阵,统计字符“@”组成多少个八连块。如果两个字符“@”所在的格子相邻(横、竖或者对角线方向),就说它们属于同一个八连块。
Sample Input
1 1
*
3 5
*@*@*
**@**
*@*@*
1 8
@@****@*
5 5
****@
*@@*@
*@**@
@@@*@
@@**@
0 0
Sample Output
0
1
2
2
#include<iostream>#include<cstdio>#include<cstring>using namespace std;/*Input Sample:5 5****@*@@*@*@**@@@@*@@@**@Output Sample:2*/char s[20][20];//二维图形bool vis[20][20];//是否访问int movx[8]= {0,0,1,1,1,-1,-1,-1}; //横坐标移动方案int movy[8]= {1,-1,0,1,-1,0,1,-1}; //对应纵坐标的移动方案int sum,m,n;//sum:八连块的区域数,m:行数 n:列数//深搜过程void dfs(int x,int y){ int xx,yy,i; for(i=0; i<8; i++) { xx=x+movx[i]; yy=y+movy[i]; if(xx>=1 && xx<=m && yy>=1 && yy<=n) //不越界 { if(s[xx][yy]=='@' && vis[xx][yy]==false) //该位置是@并且没有被访问过 { vis[xx][yy]=true; dfs(xx,yy); } } }}int main(){ int i,j; while(cin>>m>>n)//m:行 n:列 { if(m==0 || n==0) break; sum=0;//每次需要重新清零 memset(vis,false,sizeof(vis));//每次需要重新置为false //输入二维图形 for(i=1; i<=m; i++) { for(j=1; j<=n; j++) { cin>>s[i][j]; } } //遍历图形 for(i=1; i<=m; i++) { for(j=1; j<=n; j++) { if(s[i][j]=='@' && vis[i][j]==false) { vis[i][j]=true; sum++; dfs(i,j); } } } cout<<sum<<endl; } return 0;}
0 0
- 算法竞赛入门经典 例题 6-12 油田(Oil Deposits, UVa 572)
- 例题6-12 油田(Oil Deposits, UVa 572)
- 例题6-12 UVA Oil Deposits油田
- 油田(Oil Deposits,UVa 572)
- [UVa]572 油田 Oil Deposits
- 经典第六章 例题 6-12 UVA 572 Oil Deposits(用DFS求连通块)
- uva 572 Oil Deposits(油田)—— DFS
- Uva 572 Oil Deposits 油田 (DFS求连通块)
- dfs算法经典例题 Oil Deposits
- uva572 - Oil Deposits 入门经典II 第六章数据结构基础 例题6-12
- 例题:油田(UVa 572)
- DFS入门精讲:油田(Oil Deposits UVA572)
- 用DFS求连通块(油田Oil Deposits,UVa 572)
- 例题6-12 UVa572 Oil Deposits(DFS)
- 【HDU-1241】Oil Deposits油田(dfs)
- Vjudge Oil Deposits 油田问题(dfs)
- 油田(Oil Deposits)
- 算法竞赛入门经典 油田---经典的联通快问题
- What's the WAR
- 【jzoj4906】【NOIP2016提高组】【组合数问题】【数论】
- layer mobile的使用问题
- java入门2-语言基础之关键字,标识符,注释,常量和变量
- 11月英语总结
- 算法竞赛入门经典 例题 6-12 油田(Oil Deposits, UVa 572)
- javaweb开发要学习的所有技术和框架总结:
- strong,weak,retain,assign,copy nomatic 等的区别
- 移动的小球
- 从循环神经网络(RNN)到LSTM网络
- 欢迎使用CSDN-markdown编辑器
- Java注解入门
- 解决《获取My Document目录错误,可能”我的文档“目录不存在》
- wget及CentOS7的换源操作