CF1324A Yet Another Tetris Problem 题解

CSDN同步

原题链接

简要题意:

再简要一波:

每次可以把一个数增加 \(2\),问最后能不能让所有数相等。(也就是抵消掉)

什么?题意变成这样子还做个啥?

你会发现,必须所有数的奇偶性都相同,才可以;反之就不可以。

这结论不用证明了,因为每次增加不会改变奇偶性的。

#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;

inline int read(){char ch=getchar();int f=1;while(ch<'0' || ch>'9') {if(ch=='-') f=-f; ch=getchar();}
	int x=0;while(ch>='0' && ch<='9') x=(x<<3)+(x<<1)+ch-'0',ch=getchar();return x*f;}

int main(){
	int T=read(),n,p;
	while(T--) {
		n=read(),p=read(); bool f=0;
		for(int i=1,t;i<n;i++) {
			t=read();
			if((t&1) != (p&1)) f=1;
		} if(!f) puts("YES");
		else  puts("NO");
	}
	return 0;
}

posted @ 2020-03-23 08:14  bifanwen  阅读(141)  评论(0编辑  收藏  举报