no.1
1 #include<stdio.h> 2 #include<stdlib.h> 3 int main() 4 { 5 long a[3],b[3],c[3],sum,n[6]={0},i,j,m; 6 while(scanf("%ld%ld%ld%ld%ld%ld%ld%ld%ld",&a[0],&a[1],&a[2],&b[0],&b[1],&b[2],&c[0],&c[1],&c[2])!=EOF) 7 {sum=a[0]+a[1]+a[2]+b[0]+b[1]+b[2]+c[0]+c[1]+c[2]; 8 n[0]=a[0]+b[2]+c[1]; 9 n[1]=a[0]+b[1]+c[2]; 10 n[2]=a[2]+b[0]+c[1]; 11 n[3]=a[2]+b[1]+c[0]; 12 n[4]=a[1]+b[0]+c[2]; 13 n[5]=a[1]+b[2]+c[0]; 14 for(j=m=i=0;i<6;i++) 15 if(n[i]>m){ 16 m=n[i]; 17 j=i+1; 18 } 19 switch(j) 20 { 21 case 1: printf("BCG %ld\n",sum-n[0]);break; 22 case 2: printf("BGC %ld\n",sum-n[1]);break; 23 case 3: printf("CBG %ld\n",sum-n[2]);break; 24 case 4: printf("CGB %ld\n",sum-n[3]);break; 25 case 5: printf("GBC %ld\n",sum-n[4]);break; 26 case 6: printf("GCB %ld\n",sum-n[5]);break; 27 } 28 } 29 return 0; 30 }
每一个箱子都要拿出两种色彩的物体互换出去,那么总个数减去留下来的那一个色彩的物体个数即互换数