链接:http://ybt.ssoier.cn:8088/problem_show.php?pid=1252
#include<cstring>
#include<iostream>
using namespace std;
int main() {
int n,m;
cin>>n>>m;
char map[41][41];
memset(map,'#',sizeof(map));
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++)
cin>>map[i][j];
int head=0,tail=1;
int queue[4000][3];
queue[tail][0]=queue[tail][1]=queue[tail][2]=1;
do {
head++;
const int dx[4] {-1,1,0,0},
dy[4] {0,0,-1,1};
for(int i=1; i<=n; i++) {
int hx=queue[head][0]+dx[i];
int hy=queue[head][1]+dy[i];
if(map[hx][hy]!='#') {
tail++;
queue[tail][0]=hx;
queue[tail][1]=hy;
queue[tail][2]=queue[head][2]+1;
if(hx==n&&hy==m) {
cout<<queue[tail][2];
return 0;
}
map[hx][hy]='#';
}
}
} while(head!=tail);
}
运行错误了