比赛 2025暑期集训第6场 评测结果 AAAAAAAAAA
题目名称 Cow Operations 最终得分 100
用户昵称 会挽弯弓满月 运行时间 0.443 s
代码语言 C++ 内存使用 6.06 MiB
提交时间 2025-07-12 10:01:39
显示代码纯文本
#include <bits/stdc++.h> 
using namespace std;
const int N=2e5+10;
int read(){
	int x=0,f=1;
	char c=getchar();
	while(c<48||c>57){
		if(c==45) f=-1;
		c=getchar();
	}
	while(c>=48&&c<=57){
		x=x*10+c-48;
		c=getchar();
	}
	return f*x;
}
string s;
int a[N],sum[N][4];
int n,m;
int l,r;
void init(){
	for(int i=1;i<=m;i++){
		sum[i][1]=sum[i-1][1];
		sum[i][2]=sum[i-1][2];
		sum[i][3]=sum[i-1][3];
		sum[i][a[i]]++;
	}
	return;
}
int ans[4];
int main(){
	freopen("operation.in","r",stdin);
	freopen("operation.out","w",stdout);
	cin>>s;
	m=s.size();
	//C:1 O:2 W:3
	for(int i=0;i<m;i++){
		if(s[i]=='C') a[i+1]=1;
		else if(s[i]=='O') a[i+1]=2;
		else a[i+1]=3;
	}
	init();
	n=read();
	for(int i=1;i<=n;i++){
		l=read();r=read();
		for(int j=1;j<=3;j++){
			ans[j]=sum[r][j]-sum[l-1][j];
			ans[j]%=2;
		}
		if(ans[2]==ans[3]&&ans[2]!=ans[1]) printf("Y");
		else printf("N");
	}
	return 0;
}