枚举 注意输入顺序是B G C 输出是按照 B C G顺序的 #include <iostream> using namespace std; int main() { int a[10]; int b[7]; while(scanf("%d", &a[1]) != EOF) { int tot = 0; tot += a[1]; for(int i = 2; i <= 9; i++) { scanf("%d", &a[i]); tot += a[i]; } b[1] = a[1] + a[6] + a[8]; b[2] = a[1] + a[5] + a[9]; b[3] = a[3] + a[4] + a[8]; b[4] = a[3] + a[5] + a[7]; b[5] = a[2] + a[4] + a[9]; b[6] = a[2] + a[6] + a[7]; int maxx = 0, maxi; for(int i = 1; i <= 6; i++) { if(maxx < b[i]) { maxx = b[i]; maxi = i; } } switch(maxi) { case 1: cout << "BCG"; break; case 2: cout << "BGC"; break; case 3: cout << "CBG"; break; case 4: cout << "CGB"; break; case 5: cout << "GBC"; break; case 6: cout << "GCB"; break; } cout << ' ' << tot-maxx << endl; } return 0; }