WA#84
查看原帖
WA#84
784202
MarshmallowDream楼主2023/12/22 19:33

原帖子因为latex问题,删除,更改 代码:

#include <iostream>
#include <cstdio>
using namespace std;
int n,k;
const int MAXN=1e5+5;
bool safe[2][MAXN],vis[2][MAXN];
bool dfs(int wa,bool lr,int he)
{
	if(he>n) return 1;
	if(wa>he) return 0;
	if(safe[lr][he]==0) return 0;
	if(vis[lr][he]==1) return 0;
	vis[lr][he]=1;
	return dfs(wa+1,lr,he+1)||dfs(wa+1,lr,he-1)||dfs(wa+1,!lr,he+k);
}
int main()
{
	cin>>n>>k;
	for(int i=0;i<2;i++){
		for(int j=1;j<=n;j++){
			char c;
			scanf(" %c",&c);
			if(c=='X')safe[i][j]=0;
			else safe[i][j]=1;
		}
	}
	if(dfs(1,0,1)) cout<<"YES"<<endl;
	else cout<<"NO"<<endl;
	return 0;
}

2023/12/22 19:33
加载中...