#include<bits/stdc++.h>
using namespace std;
int a,b,ans=0;
int dx[]={1,0,-1,0};
int dy[]={0,1,0,-1};
char cb[30][30];
int dfs(int x,int y)
{
int xx,yy;
for(int i=0;i<4;i++){
xx=x+dx[i];
yy=y+dy[i];
if(cb[xx][yy]=='.'){
if(xx<b&&xx>=0&&yy<a&&yy>=0){
ans++;
cb[xx][yy]='#';
dfs(xx,yy);
}
}
}
}
int main()
{
while(cin>>a>>b)
{
ans=0;
if(!(a&&b))return 0;
for(int i=0;i<b;i++)
for(int j=0;j<a;j++)
cin>>cb[i][j];
for(int i=0;i<b;i++)
for(int j=0;j<a;j++){
if(cb[i][j]=='@'){
cb[i][j]='#';
dfs(i,j);
break;
}
}
cout<<ans+1<<endl;
}
return 0;
}
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交