#include<stdio.h>
#include<string.h>
#define max 101
char map[max][max];
int next[8][2]={ {0, 1}, {1, 0}, {0, -1}, {-1, 0} , {-1, 1}, {1, -1}, {-1, -1}, {1, 1} },n,m;
void bfs(int i,int j)
{
int xi,yj,k;
map[i][j]='*';
for(k=0;k<8;k++)
{
xi=i+next[k][0];
yj=j+next[k][1];
if(xi<n && xi>=0 && yj<m && yj>=0 && map[xi][yj]=='@' )
bfs(xi,yj);
}
}
int main(){
int i,j,sum;
while(scanf("%d%d",&n,&m)!=EOF,n,m){
for(i=0;i<n;i++)
scanf("%s",map[i]);
sum=0;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(map[i][j]=='@')
{
bfs(i,j);
sum++;
}
}
}
printf("%d\n",sum);
}
return 0;
}
hdu1241 Oil Deposits 伤不起啊,k局部变量被弄成了全局变量,要仔细啊
最新推荐文章于 2020-09-24 22:22:46 发布