社区讨论

wawa 求助

B3625迷宫寻路参与者 3已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@lo29rk3j
此快照首次捕获于
2023/10/23 10:19
2 年前
此快照最后确认于
2023/11/03 10:31
2 年前
查看原帖
CPP
#include<iostream>
using namespace std;
bool map[100][100],check[100][100];
struct zuobiao{
    int x,y;
}q[1000];
int bx[4][2]={1,0,0,1,-1,0,0,-1};
void bfs(int x,int y,int n,int m){
	int b,e,X,Y,xx,yy;
	b++;
	q[1].x=x;
	q[1].y=y;
	while(b<e){
	X=q[b].x,Y=q[b].y;
	check[X][Y]=1;
	for(int i=0;i<4;i++){
    xx=X+bx[i][0];
    yy=Y+bx[0][i];
	if(x>n||y>m||x<0||y<0){
		continue;
	}
	if(map[xx][yy]&&check[xx][yy]==0){
		q[e++].x=xx;
		q[e].y=yy;
	}	
	}
    if(map[xx][yy]==map[n][m])
	cout<<"yes";
	else
	cout<<"No";
	}
	
}
int main(){
	int n,m;
	char a;
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cin>>a;
			if(a=='.'){
				map[i][j]=a;
			}
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			if(!check[i][j]&&map[i][j]){
			bfs(i,j,n,m);
			}
		}
	}
	return 0;
}
感谢大佬

回复

3 条回复,欢迎继续交流。

正在加载回复...