#include<bits/stdc++.h>
#define rg register
#define ll long long
using namespace std;
struct node{
int x,y,step;
};
int n,m;
char a[45][45];
bool vis[45][45];
int dx[]={-1,1,0,0};
int dy[]={0,0,-1,1};
int bfs(int sx,int sy){
queue<node> q;
memset(vis,0,sizeof(vis));
node cur={sx,sy,0};
q.push(cur);
vis[sx][sy]=1;
while(!q.empty()){
cur=q.front();
q.pop();
if(cur.x==n&&cur.y==m){
return cur.step;
}
for(int i=1;i<4;i++){
int nx=cur.x+dx[i];
int ny=cur.y+dy[i];
if(nx>=1&&nx<n&&ny>=1&&ny<=m&&!vis[nx][ny]&&a[nx][ny]!='#'){
node nxt={nx,ny,cur.step+1};
vis[nx][ny]=0;
q.push(nxt);
}
}
}
return -1;
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
}
}
cout<<bfs(1,1)<<endl;
return 0;
}
题目是:一本通1252 没有输出