40分求助QWQ
查看原帖
40分求助QWQ
955228
OIer_xhy楼主2024/9/29 19:27

代码:

#include<bits/stdc++.h>
using namespace std;
char a[105][105];
int v[105][105];
int n,m;
void dfs(int x,int y){
	if(x==n&&m==y&&a[x][y]!='#'){
		cout<<"Yes";
		exit(0);
	}
	if(v[x][y]==0){
		v[x][y]=1;
		if(a[x+1][y]=='.'&&!v[x+1][y]) dfs(x+1,y);
		if(a[x-1][y]=='.'&&!v[x-1][y]) dfs(x-1,y);
		if(a[x][y+1]=='.'&&!v[x][y+1]) dfs(x,y+1);
		if(a[x][y-1]=='.'&&!v[x][y-1]) dfs(x,y-1);
		v[x][y]=0;
	}
	if(a[x+1][y]=='#'||v[x+1][y]==1&&a[x-1][y]=='#'||v[x-1][y]==1&&
	a[x][y+1]=='#'||v[x][y+1]==1&&a[x][y-1]=='#'||v[x][y-1]==1){
		cout<<"No";
		exit(0);
	}
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++) cin>>a[i][j]; 
	}
	if(a[n][m]=='#'){
		cout<<"No";
		return 0;
	}
	dfs(1,1);
    return 0;
}


哪里错了啊啊啊啊啊

TIPS: WA:234579 https://www.luogu.com.cn/record/179006135

2024/9/29 19:27
加载中...