wawa 求助
查看原帖
wawa 求助
1018353
zprbszpr楼主2023/7/11 15:38
#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;
}

感谢大佬

2023/7/11 15:38
加载中...