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;
}
这里空空如也






有帮助,赞一个