关于这道题
  • 板块灌水区
  • 楼主ChenZQ
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/8/12 00:47
  • 上次更新2023/11/3 04:21:30
查看原帖
关于这道题
745358
ChenZQ楼主2023/8/12 00:47
#include <bits/stdc++.h>
using namespace std;

const int N = 200010;
char s[2][N];

int main()
{
	int __;
	scanf("%d",&__);
	while(__--)
	{
			int n;
			scanf("%d",&n);
			scanf("%s%s",s[0],s[1]);
			bool flag=false;
			for(int i=1;i<n;i++)
			{	
					if(s[0][i]=='W' && s[1][i]=='B')
					{
						if(s[1][i-1]=='W')
						{
							puts("NO");
							flag=1;
							break;
						}
					}
					else if(s[0][i]=='B' && s[1][i]=='W')
					{
						if(s[0][i-1]=='W')
						{
							puts("NO");
							flag=1;
							break;
						}
					}
					else if(s[0][i]=='B' && s[1][i]=='B')
					{
						if(i==n-1) break;
						if(s[0][i+1]=='B' && s[1][i+1]=='B')
						{
							int id=-1;
							for(int j=i;j<n;j++)
							{
								if(s[0][j]=='W' || s[1][j]=='W')
								{
									id=j;
									break;
								}
							}
							if(id==-1) break;
							int cnt=id-i;
							//cout<<cnt<<" "<<i<<" "<<id<<endl;
							if(s[0][i-1]=='B')
							{
								if(cnt%2==1 && s[1][id]=='W' && s[1][i-1]!='B')
								{
									puts("NO");
									flag=1;
									break;
								}
								else if(cnt%2==0 && s[0][id]=='W' && s[1][i-1]!='B')
								{
									puts("NO");
									flag=1;
									break;
								}
							}
							if(s[1][i-1]=='B')
							{
								if(cnt%2==1 && s[0][id]=='W' && s[0][i-1]!='B')
								{
									puts("NO");
									flag=1;
									break;
								}
								else if(cnt%2==0 && s[1][id]=='W' && s[0][i-1]!='B')
								{
									puts("NO");
									flag=1;
									break;
								}
							}
							i=id;
						}
						else
						{
							if(s[0][i-1]=='B' && s[0][i+1]=='B')
							{
								puts("NO");
								flag=1;
								break;
							}
							else if(s[1][i-1]=='B' && s[1][i+1]=='B')
							{
								puts("NO");
								flag=1;
								break;
							}
						}
					}
			}
			if(!flag) puts("YES");
	}
}

https://www.luogu.com.cn/problem/CF1766C 这是题目,感觉我的代码是对的,怎么造数据都对。

感觉快调疯了,悬赏一关注(如果对我很有帮助会考虑给现金)

2023/8/12 00:47
加载中...