有 WA 有 TLE,求调
查看原帖
有 WA 有 TLE,求调
1016188
fztt_r9楼主2023/9/3 11:49
using namespace std;
bool unacc[114][114];//走不了 
int m,n,f=0;
void dfs(int x,int y){
	if(f) return ;
//	cout<<x<<' '<<y<<endl;
	if(x==n&&y==m){
		cout<<"YES"<<endl;
		f=1;
		return;
	}
	if(!(x<=n&&x>=1&&y<=m&&y>=1)) return;
	if(!unacc[x][y+1]){
		unacc[x][y+1]=1;
		dfs(x,y+1);
		unacc[x][y+1]=0;
	}
	
	if(!unacc[x+1][y]){
		unacc[x+1][y]=1;
		dfs(x+1,y);
		unacc[x+1][y]=0;
	}
	if(!unacc[x-1][y]){
		unacc[x-1][y]=1;
		dfs(x-1,y);
		unacc[x-1][y]=0;
	}
	
	if(!unacc[x][y-1]){
		unacc[x][y-1]=1;
		dfs(x,y-1);
		unacc[x][y-1]=0;
	}
	
	return ;
} 
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int k=1;k<=m;k++){
			char ch;
			cin>>ch;
			if(ch=='#') unacc[i][k]=1;
		}
	}
//	for(int i=1;i<=n;i++){
//		for(int k=1;k<=m;k++){
//			cout<<unacc[i][k]<<' ';
	//	}
	//	cout<<endl;
	//}
	dfs(1,1);
	if(f==0) cout<<"NO"<<endl;
}
2023/9/3 11:49
加载中...