ARC 080

题面在这里!

    把每个数替换成它在2上的指数,然后发现0只能和>=2的相邻,所以手玩一下就好啦。

#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=1e5+5;

int n,now,cnt[3];

int main(){
	scanf("%d",&n);
	for(int i=1,j;i<=n;i++){
		scanf("%d",&now),j=0;
		if(!(now&1)) now>>=1,j++;
		if(!(now&1)) now>>=1,j++;
		cnt[j]++;
	}
	
	if(cnt[2]>=cnt[0]||(!cnt[1]&&cnt[0]==cnt[2]+1)) puts("Yes");
	else puts("No");
	return 0;
}

  

原文地址:https://www.cnblogs.com/JYYHH/p/9304055.html