BFSAC!
原题链接:9551.走迷宫2024-03-02 14:26:26
发布于:广东
#include<iostream>
#include<queue>
using namespace std;
struct poi{
int x,y,s;
};
queue<poi> q;
int n,m;
char a[1005][1005];
int dx[5]={0,0,1,0,-1},dy[5]={0,1,0,-1,0};
int main(){
cin>>n>>m;
for(int i=1;i<=n;++i){
for(int j=1;j<=m;++j){
cin>>a[i][j];
}
}
q.push({1,1,1});
while(!q.empty()){
for(int i=1;i<=4;++i){
poi p=q.front();
int tx=p.x+dx[i];
int ty=p.y+dy[i];
if(a[tx][ty]=='.') q.push({tx,ty,p.s+1});
if(tx==n&&ty==m){
cout<<q.back().s;
return 0;
}
}
q.pop();
}
return 0;
}
这里空空如也
有帮助,赞一个