50分求助
  • 板块B3625 迷宫寻路
  • 楼主zyabc
  • 当前回复2
  • 已保存回复2
  • 发布时间2022/9/8 08:57
  • 上次更新2023/10/27 12:18:09
查看原帖
50分求助
725788
zyabc楼主2022/9/8 08:57

如题,代码没看出来又什么问题,可是只有50分

#include<bits/stdc++.h>
using namespace std;
int n,m;
char mg[105][105];
int dx[4]={0,-1,0,1},dy[4]={1,0,-1,0},vis[105][105];
bool toDest=0;


void dfs(int x,int y){
	if(x==n&&y==m)	{cout<<"Yes";toDest=1; return;}
	vis[x][y]=1;
	for(int i=0;i<4;i++)
	{
		int nx=x+dx[i];
		int ny=y+dy[i];
		if(nx>=1&&nx<=n&&ny>=1&&ny<=m&&mg[nx][ny]!='#'&&vis[nx][ny]==0)
		{
			dfs(nx,ny);
		}
	}
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		cin>>mg[i][j];
	}	
	dfs(1,1);
	if(!toDest) cout<<"No";
	
	return 0;
}
2022/9/8 08:57
加载中...