标签:algo otto 数字 return padding scanf str color class
2 10 6 6 6 6 6 1 1 1 1 1 8 8 8 8 8 8 8 8 8 8 4 3 6 9 1 1 2 1 7
YES YES
题目描述是废话。
先把数字分为三类:
第一类:1,4,7......(加2能够被3整除)
第二类:2,5,8......(加1能够被3整除)
第三类:3,6,9......(直接能够被3整除)
输出NO的只有两种情况
一,第三类数字个数大于n
二,第一类和第二类混一块(两小种情况)
1,第三类数字小于等于一个不足以分开这两类数字,必定有相邻(相加能被3整除)
2,第三类数字只有两个,并且第一类和第二类数字都有且个数为偶,不足以分隔
1 #include <stdio.h> 2 #include <string.h> 3 #include<math.h> 4 #include<algorithm> 5 using namespace std; 6 int a[2005]; 7 int main() 8 { 9 int T, n; 10 scanf("%d", &T); 11 while(T--) 12 { 13 scanf("%d", &n); 14 int sum1, sum2, sum3, s=0; 15 sum1=sum2=sum3=0; 16 for(int i=0; i<2*n; i++) 17 { 18 scanf("%d", &a[i]); 19 if(a[i]%3==0) 20 sum3++; 21 if((a[i]+2)%3==0) 22 sum1++; 23 if((a[i]+1)%3==0) 24 sum2++; 25 } 26 if(sum3>n) 27 printf("NO\n"); 28 else if((sum3==2&&sum1!=0&&sum1%2==0&&sum2!=0&&sum2%2==0)||(sum3<=1&&sum1>0&&sum2>0)) 29 printf("NO\n"); 30 else 31 printf("YES\n"); 32 } 33 return 0; 34 }
标签:algo otto 数字 return padding scanf str color class
原文地址:http://www.cnblogs.com/zhulei2/p/7978584.html