ZJNU 2349

为4的倍数,列出所有可能情况再判断即可

处理输入的数据对4取模

可得

4444

2244

2222

1111

3333

1133

1223

1344

1124

3324

共十种情况

所以得出答案

#include<bits/stdc++.h>
using namespace std;
int main(){
    int T,n,i,d,ar[4];
    scanf("%d",&T);
    while(T--){
        fill(ar,ar+4,0);
        scanf("%d",&n);
        for(i=0;i<n;i++){
            scanf("%d",&d);
            ar[d%4]++;
        }
        if(ar[0]>=4||ar[0]>=2&&ar[2]>=2||ar[2]>=4||ar[1]>=4||ar[3]>=4||ar[1]>=2&&ar[3]>=2||ar[1]>=1&&ar[3]>=1&&ar[2]>=2||ar[1]>=1&&ar[3]>=1&&ar[0]>=2||ar[1]>=2&&ar[2]>=1&&ar[0]>=1||ar[3]>=2&&ar[2]>=1&&ar[0]>=1)
            puts("YES");
        else
            puts("NO");
    }
    
    return 0;
}