dfs70分求助
查看原帖
dfs70分求助
654813
shijunyu2010楼主2023/9/28 19:22

求给位大佬帮我看看qwq

#include<istream>
#include<ostream>
#include<stdlib.h>
namespace std _GLIBCXX_VISIBILITY(default){
  extern istream cin;
  extern ostream cout;
  static ios_base::Init __ioinit;
}
using std::cin;
using std::cout;
using std::exit;
bool map[120][120];
int n,m;
int dx[4]={1,0,0,-1};
int dy[4]={0,-1,1,0};
void dfs(int x,int y){
	if(x==n && y==m){
		cout<<"Yes";
		exit(0);
	}
	bool flag=1;
	for(int i=0;i<4;i++){
		int ix=x+dx[i],iy=y+dy[i];
		if(map[ix][iy]){
			flag=0;
			map[x][y]=0;
			dfs(ix,iy);
			map[x][y]=1;
		}else{
			continue;
		}
	}
	if(flag)
		return;
}
int main(){
	std::ios::sync_with_stdio(false);
	char t;
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cin>>t;
			map[i][j]=(t-'#');
		}
	}
	dfs(1,1);
	cout<<"No";
}
2023/9/28 19:22
加载中...