样例过了……0分……唉……
#include<bits/stdc++.h>
using namespace std;
int n,m,qx[1000001],qy[1000001],a[100001],x,y,d;
char b[1001][1001];
int dx[5]= {0,0,-1,0,1},dy[5]= {0,-1,0,1,0};
void bfs(int x,int y) {
int t=0,w=1;
qx[1]=x;
qy[1]=y;
a[1]=1;
while(t<w) {
t++;
x=qx[t];
y=qy[t];
for(int i=1; i<=4; i++) {
int xx=x+dx[i];
int yy=y+dy[i];
if(xx>=1&&xx<=n&&yy>=1&&yy<=m&&b[xx][yy]=='.') {
w++;
qx[w]=xx;
qy[w]=yy;
a[w]=a[t]+1;
d=max(d,a[w]);
b[xx][yy]='a';
}
}
}
}
int main() {
cin>>m>>n;
for(int i=1; i<=n; i++) {
for(int j=1; j<=m; j++) {
cin>>b[i][j];
if(b[i][j]=='@') {
x=i;
y=j;
}
}
}
bfs(x,y);
cout<<d;
return 0;
}