#include<iostream>
#include<cstdio>
using namespace std;
int dx[4]={0,0,-1,1};
int dy[4]={-1,1,0,0};
int quex[1000];
int quey[1000];
int num[1000][1000];
char map[1000][1000];
int main()
{
int n,m,i,j,x,y;
scanf("%d%d",&m,&n);
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
cin>>map[i][j];
quex[1]=1;
quey[1]=1;
num[1][1]=1;
int head=0;
int tail=1;
while(head<tail)
{
head++;
for(i=0;i<=3;i++)
{
x=quex[head]+dx[i];
y=quey[head]+dy[i];
if(x>=1&&x<=m&&y>=1&&y<=n&&map[x][y]!='#')
{
tail++;
quex[tail]=x;
quey[tail]=y;
num[x][y]=num[quex[head]][quey[head]]+1;
if(x==m&&y==n)
cout<<num[x][y]<<endl;
map[x][y]='#';
}
}
}
return 0;
}
1252:走迷宫
最新推荐文章于 2023-08-28 13:45:37 发布