⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1153.cpp

📁 哈尔滨工业大学ACM 竞赛网上在线试题集锦的源代码
💻 CPP
字号:
/*  This Code is Submitted by wywcgs for Problem 1153 on 2005-03-20 at 13:34:56 */ 
#include <stdio.h>

int main()
{
    unsigned long move, MAX, bin[3][3], temp, m, n;
    int i, j, k;
    char order[4];
    
    while(1){
        move = 0;
        for(i = 0; i < 3; i++){
            for(j = 0; j < 3; j++){
                if(scanf("%lu", &bin[i][j]) == 1){
                    move += bin[i][j];
                }else{
                    return 0;
                }
            }
        }
        for(i = 0; i < 3; i++){
            for(j = 0; j < 3; j++){
                if(j == i){
                    continue;
                }else{
                    for(k = 0; k < 3; k++){
                        if((j == k) || (i == k)){
                            continue;
                        }else{
                            n = bin[j][1] + bin[k][2];
                            m = bin[k][1] + bin[j][2];
                            if(m >= n){
                                temp = m + bin[i][0];
                                if((i == 0) && (j == 1)){
                                    MAX = bin[i][0] + m;
                                    order[i] = 'B';
                                    order[j] = 'C';
                                    order[k] = 'G';
                                }else{
                                    if(MAX < temp){
                                        MAX = temp;
                                        order[i] = 'B';
                                        order[j] = 'C';
                                        order[k] = 'G';
                                    }
                                }
                            }else{
                                temp = n + bin[i][0];
                                if((i == 0) && (j == 1)){
                                    MAX = bin[i][0] + m;
                                    order[i] = 'B';
                                    order[j] = 'G';
                                    order[k] = 'C';
                                }else{
                                    if(MAX < temp){
                                        MAX = temp;
                                        order[i] = 'B';
                                        order[j] = 'G';
                                        order[k] = 'C';
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        order[3] = 0;
        move -= MAX;
        printf("%s %lu\n", order, move);
    }
    
    return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -