#include<iostream>
#include<string>
#include<math.h>
#include<stdio.h>
#include<algorithm>
int m,n,k;
char map[22][22];
int find(int a,int b);
int dir[4][2]={{-1,0},{0,1},{1,0},{0,-1}};
using namespace std;
int main()
{
int i,j,a,b;
while(cin>>m>>n)
{
if(m==0&&n==0) break;
k=0;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
cin>>map[i][j];
if(map[i][j]=='@')
{
a=i;
b=j;
}
}
}
k++;
find(a,b);
cout<<k<<endl;
}
return 0;
}
int find(int a,int b)
{
int i,aa,bb;
map[a][b]='#';
for(i=0;i<4;i++)
{
aa=a+dir[i][0];
bb=b+dir[i][1];
if(aa>=0&&bb>=0&&aa<n&&bb<m&&map[aa][bb]!='#')
{
k++;
find(aa,bb);
}
}
return 0;
}
欢迎使用优快云-markdown编辑器
最新推荐文章于 2021-01-07 23:01:28 发布
