题目链接
4的倍数那么直接对输入的数据取余吧。
然后我们得到了若干个0 1 2 3.然后咋办呢
分类讨论也可以,暴力枚举也可以((建议枚举
ll v[5];ll s[10];signed main(){ll t;read(t);while(t--){ll n;read(n);memset(v,0,sizeof(v));memset(s,0,sizeof(s));for(int i=1; i<=n; i++){ll x;read(x);v[x%4]++;}for(int i=0; i<=min(4*1ll,v[0]); i++){for(int j=0; j<=min(4*1ll,v[1]); j++){for(int k=0; k<=min(4*1ll,v[2]); k++){for(int p=0; p<=min(4*1ll,v[3]); p++){if(i+j+k+p==4){s[(i*0+j*1+k*2+p*3)%4]=1;}}}}}if(s[0]==1){printf("YES\n");}else{printf("NO\n");}}}
如果觉得《CSUSTOJ 抽抽抽(同余/思维)》对你有帮助,请点赞、收藏,并留下你的观点哦!