AcWing 844. 走迷宫
原题链接
简单
作者:
Chris0815
,
2021-01-16 15:31:29
,
所有人可见
,
阅读 329
#include<bits/stdc++.h>
using namespace std;
const int N=110;
int mp[N][N];
int vis[N][N];
int dir[4][2]={{0,1},{0,-1},{1,0},{-1,0}};
struct node{
int x,y,s;
};
int main(){
int n,m;
cin>>n>>m;
queue <node> q;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>mp[i][j];
}
}
int ans=0;
q.push(node{1,1,0});
vis[1][1]=1;
while(!q.empty()){
node on=q.front();
q.pop();
if(on.x==n&&on.y==m){
ans=on.s;
break;
}
for(int i=0;i<4;i++){
int dx=on.x+dir[i][0];
int dy=on.y+dir[i][1];
if(dx<1||dx>n||dy<1||dy>m||vis[dx][dy]==1||mp[dx][dy]==1) continue;
vis[dx][dy]=1;
q.push(node{dx,dy,on.s+1});
}
}
cout<<ans;
return 0;
}
作者:Chris0815
链接:https://www.acwing.com/activity/content/code/content/702949/
来源:AcWing
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。