「CF#664」A Boboniu Likes to Color Balls(div.2)

题意

Link

给你4种颜色的球(R,G,B,W)的数量,你可以各选择一个颜色为R,G,B的球把他们变成三个颜色为W的球

你可以进行无限次这种操作,问是否能让所有的球组成回文串

题解

先吐槽一下这题目,我吃了4发fst(wtcl

构成回文,需要全部为偶数或者只有一个奇数

所以三偶一奇,四偶是可以的

但是!!!

三奇一偶在R,G,B为奇数,W为偶数才成立

因为如果进行操作,对于W颜色的球就是+3,改变了奇偶性

这样就变成了三偶一奇了qwq

Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#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;
}
0%