#include<bits/stdc++.h>
using namespace std;
int m,n,h=1,t=1,ans=0;
int f[2005][3];
char a[55][55];
int fx[4]={0,0,1,-1},fy[4]={1,-1,0,0};
void dfs(int x,int y)
{
int tx,ty;
ans++;
f[t][1]=x;
f[t][2]=y;
a[x][y]='#';
while(h<=t)
{
for(int i=0;i<=3;i++)
{
tx=f[h][1]+fx[i];
ty=f[h][2]+fy[i];
if(a[tx][ty]=='.')
{
ans++;
t++;
f[t][1]=tx;
f[t][2]=ty;
a[tx][ty]='#';
}
}
h++;
}
}
int main()
{
int x,y,i,j;
cin>>n>>m;
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
{
cin>>a[i][j];
if(a[i][j]=='@')
{
x=i;
y=j;
}
}
}
dfs(x,y);
cout<<ans;
}
TOPS 瓷砖
于 2024-05-31 19:54:33 首次发布