UVa 102 Ecological Bin Packing
c++只学了一点就开始做题的后果就是代码特别幼稚。。
#include<cstdio>
#include<cstring>
#include<iostream>
#include<stack>
using namespace std;
//暴力枚举各种情况找到最小值
int main() {
int bin[3][3], min, sum;
char sta[4];
while (scanf("%d%d%d", &bin[0][0], &bin[0][1], &bin[0][2]) != EOF) {
for (int i = 1; i < 3; i++)
for (int j = 0; j < 3; j++)
scanf("%d", &bin[i][j]);
min = 0x3f3f3f3f;
sum = bin[0][1] + bin[0][2] + bin[1][0] + bin[1][1] + bin[2][0]
+ bin[2][2];
if (sum < min) {
min = sum;
sta[0] = 'B';
sta[1] = 'C';
sta[2] = 'G';
sta[3] = '\0';
}
sum = bin[0][1] + bin[0][2] + bin[1][0] + bin[1][2] + bin[2][0]
+ bin[2][1];
if (sum < min) {
min = sum;
sta[0] = 'B';
sta[1] = 'G';
sta[2] = 'C';
sta[3] = '\0';
}
sum = bin[0][0] + bin[0][1] + bin[1][1] + bin[1][2] + bin[2][0]
+ bin[2][2];
if (sum < min) {
min = sum;
sta[0] = 'C';
sta[1] = 'B';
sta[2] = 'G';
sta[3] = '\0';
}
sum = bin[0][0] + bin[0][1] + bin[1][0] + bin[1][2] + bin[2][1]
+ bin[2][2];
if (sum < min) {
min = sum;
sta[0] = 'C';
sta[1] = 'G';
sta[2] = 'B';
sta[3] = '\0';
}
sum = bin[0][0] + bin[0][2] + bin[1][1] + bin[1][2] + bin[2][0]
+ bin[2][1];
if (sum < min) {
min = sum;
sta[0] = 'G';
sta[1] = 'B';
sta[2] = 'C';
sta[3] = '\0';
}
sum = bin[0][0] + bin[0][2] + bin[1][0] + bin[1][1] + bin[2][1]
+ bin[2][2];
if (sum < min) {
min = sum;
sta[0] = 'G';
sta[1] = 'C';
sta[2] = 'B';
sta[3] = '\0';
}
printf("%s %d\n", sta, min);
}
}