#include<stdio.h>
#define max 21
int n,m,sum;
int next[4][2]={1,0,0,1,0,-1,-1,0};
char map[max][max];
void bfs(int x,int y)
{
int i,xi,yi;
map[x][y]='#';
for(i=0;i<4;i++){
xi=x+next[i][0];
yi=y+next[i][1];
if(xi>=0 && xi<m && yi>=0 && yi<n && map[xi][yi]!='#')
{
sum++;
bfs(xi,yi);
}
}
}
int main()
{
int i,j,x,y;
while(scanf("%d%d",&n,&m) ,n ,m)
{
for(i=0;i<m;i++){
scanf("%s",map[i]);
for(j=0;j<n;j++)
if(map[i][j]=='@')
{
x=i;
y=j;
}
}
sum=1;
bfs(x,y);
printf("%d\n",sum);
}
return 0;
}
hdu1312 Red and Black 最近在纠结局部变量和全局变量,哎
最新推荐文章于 2024-07-06 15:18:04 发布