#55313: C語言的窮舉法


soul964420@gmail.com (ziptee)


#include<stdio.h>
int main(){
    int b1, g1, c1, b2, g2, c2, b3, g3, c3;
    while (scanf("%d %d %d %d %d %d %d %d %d", &b1, &g1, &c1, &b2, &g2, &c2, &b3, &g3, &c3) == 9) {
        int total = b1 + g1 + c1 + b2 + g2 + c2 + b3 + g3 + c3;
        int keep[6];
        keep[0] = b1 + c2 + g3; // BCG
        keep[1] = b1 + g2 + c3; // BGC
        keep[2] = c1 + b2 + g3; // CBG
        keep[3] = c1 + g2 + b3; // CGB
        keep[4] = g1 + b2 + c3; // GBC
        keep[5] = g1 + c2 + b3; // GCB
        char *name[]={"BCG", "BGC", "CBG", "CGB", "GBC", "GCB"};
        int maxk=keep[0];
        int index=0;
        for (int i=0;i<6;i++){
            if (keep[i]>maxk){
                maxk=keep[i];
                index=i;
            }
        }
        printf("%s %d\n",name[index],total-maxk);
    }
}