(为什么dev编译能过但是洛谷提交过不了????)
#include<bits/stdc++.h>
using namespace std;
char a[100100][100100];
int q[1001000][3];
int _x[4]={1,-1,0,0};
int _y[4]={0,0,1,-1};
int main()
{
int h,w,sx,sy;
cin>>w>>h;
for(int i=1;i<=h;i++)
{
for(int j=1;j<=w;j++)
{
cin>>a[i][j];
if(a[i][j]='@')
{
sx=i;
sy=j;
}
}
}
int f=1,r=0,s=0;
q[++r][0]=0;
q[r][1]=sx;
q[r][2]=sy;
a[sx][sy]='#';
while(f<=r)
{
for(int i=0;i<4;i++)
{
int dx=q[f][1]+_x[i];
int dy=q[f][2]+_y[i];
if(dx>0&&dx<=w&&dy>=0&&dy<=h&&a[dx][dy]=='.')
{
s++;
q[++r][0]=q[f][0]+1;
q[r][1]=dx;
q[r][2]=dy;
a[dx][dy]='#';
}
}
f++;
}
cout<<++s;
return 0;
}