「CF#664」A Boboniu Likes to Color Balls(div.2)
题意
给你4种颜色的球(R,G,B,W)的数量,你可以各选择一个颜色为R,G,B的球把他们变成三个颜色为W的球
你可以进行无限次这种操作,问是否能让所有的球组成回文串
题解
先吐槽一下这题目,我吃了4发fst(wtcl
构成回文,需要全部为偶数或者只有一个奇数
所以三偶一奇,四偶是可以的
但是!!!
三奇一偶在R,G,B为奇数,W为偶数才成立
因为如果进行操作,对于W颜色的球就是+3,改变了奇偶性
这样就变成了三偶一奇了qwq
Code
#include <bits/stdc++.h>
using namespace std;
#define RE register
inline void fread(long long &x){
x=0;
int f=1;
char ch=getchar();
while(ch<'0'||ch>'9'){
if(ch=='-')f=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9'){
x=(x<<1)+(x<<3)+(ch^48);
ch=getchar();
}
x*=f;
}
inline void work(){
long long f[5];
int tot=0,cnt=0;
for(RE int i=1;i<=4;i++){
fread(f[i]);
if(f[i]%2==0)cnt++;
}
if(cnt>=3){printf("Yes\n");return;}
for(RE int i=1;i<=3;i++){
if(f[i]==0){printf("No\n");return;}
}
for(RE int i=1;i<=3;i++){
if(f[i]%2)tot++;
}
if(tot==3){printf("Yes\n");return;}
else if(tot==2&&f[4]%2==1){printf("Yes\n");return;}
else {printf("No\n");return;}
}
int main(){
long long T;
fread(T);
for(RE int i=1;i<=T;i++)work();
return 0;
}

浙公网安备 33010602011771号