uva572 Oil Deposits
来源:互联网 发布:淘宝每日好店在哪里看 编辑:程序博客网 时间:2024/05/25 05:38
Oil Deposits
输入一个m行n列的字符矩阵,统计字符“@”组成多少个八连块。如果两个字符“@”所在的格子相邻(横、竖或者对角线方向),就说它们属于同一个八连块。
Sample Input
1 1
*
3 5
*@*@*
**@**
*@*@*
1 8
@@****@*
5 5
****@
*@@*@
*@**@
@@@*@
@@**@
0 0
Sample Output
0
1
2
2
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
using namespace std;
char c[108][108];
int a[8][2]={{-1,0},{1,0},{0,-1},{0,1},{1,1},{-1,-1},{1,-1},{-1,1}}; //8个方向
int n,m;
bool go(int sx,int sy)
{
if(0<=sx&&sx<n&&0<=sy&&sy<m&&c[sx][sy]=='@')//可以前进
return true;
return false;
}
void dfs(int x,int y)
{
c[x][y]='*';
int i,x1,y1;
for(i=0;i<8;i++)
{
x1=x+a[i][0];
y1=y+a[i][1];
if(go(x1,y1))
{
dfs(x1,y1);
}
}
}
int main()
{
while(scanf("%d%d",&n,&m)!=EOF)
{
if(n==0&&m==0)
break;
int i,j,ans=0;
for(i=0;i<n;i++)
{
scanf("%s",c[i]);
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(c[i][j]=='@')
{
dfs(i,j);
ans++;
}
}
}
printf("%d\n",ans);
}
return 0;
}
- uva572 - Oil Deposits 油矿
- uva572 - Oil Deposits
- Oil Deposits UVA572
- UVa572 Oil Deposits(DFS)
- UVa572 - Oil Deposits
- UVA572 - Oil Deposits
- uva572 Oil Deposits
- UVA572 Oil Deposits dfs
- uva572 Oil Deposits
- UVa572-Oil Deposits
- uva572 -- Oil Deposits
- uva572 Oil Deposits
- Uva572——Oil Deposits
- HDU1241 POJ1562 UVa572 Oil Deposits
- uva572--oil deposits--dfs算法
- uva572 Oil Deposits(启发DFS)
- UVA572 HDU1241 POJ1562 Oil Deposits【DFS】
- 例题6-12 UVa572 Oil Deposits(DFS)
- Android系统性能调优工具介绍
- 顺序表操作集
- H5 手机上发短信,电话
- 实现sublime Text 3对java编译执行
- #校招常识#关于三方,两方,毁约的那些事
- uva572 Oil Deposits
- Html loading样式
- 多线程
- c++ 内联函数 (讲解的真好)
- iOS NSString常用方法
- Citavi 6 从入门到精通中文教程 -您只需看会这些
- 从尾到头打印链表(链表)
- 接口测试-使用枚举类型
- 电梯系统高精度自诊断