2011-06-01 22:12:26Morris

d984. 棄保效應

http://zerojudge.tw/ShowProblem?problemid=d984

內容 :

台灣的選舉法令禁止各陣營及媒體在投票日前的 一個星期內公佈民調結果,其中最重要的一個因素是要避免「棄保效應」。所謂的「棄保效應」是指選民在得知自己所支持的候選人當選無望時,有可能會把票投給 其他比較可能當選的人,以免浪費了自己的一票。假設某選舉有三位候選人來競選一個職位,在「棄保效應」發揮到極致的情形下,所有民調第三名的候選人的支持 者都會把票投民調第二名的候選人,也就是他們都會「棄三保二」。給你 A, B, C 三個候選人的支持者人數,請判斷誰會當選?

輸入說明 :

輸入有若干筆測試資料,每筆一行。每行有三個以空白隔開的整數 a, b, c 代表候選人 A, B, C 的支持者人數,0 ≤ a, b, c ≤ 2147483647。你可以假設在「棄保效應」之後,不會有相同票數的情形發生。

輸出說明 :

請輸出將會當選的人是 A, B 或 C。

範例輸入 :

3 4 5
1 3 5

範例輸出 :

B
C

提示 :

出處 :

板橋高中教學題 (管理:snail)

刷題目要緊,先不寫漂亮了

/**********************************************************************************/
/*  Problem: d984 "棄保效應" from 板橋高中教學題                       */
/*  Language: C                                                                   */
/*  Result: AC (2ms, 260KB) on ZeroJudge                                          */
/*  Author: morris1028 at 2011-06-01 20:08:39                                     */
/**********************************************************************************/


#include<stdio.h>
struct data{
    long long x, y;
}D[3], t;
main() {
    while(scanf("%lld %lld %lld", &D[0].x, &D[1].x, &D[2].x) == 3) {
        D[0].y = 0, D[1].y = 1, D[2].y = 2;
        if(D[0].x > D[2].x) t = D[0], D[0] = D[2], D[2] = t;
        if(D[1].x > D[2].x) t = D[1], D[1] = D[2], D[2] = t;
        if(D[0].x > D[1].x) t = D[0], D[0] = D[1], D[1] = t;
        D[1].x += D[0].x;
        if(D[1].x > D[2].x)    printf("%c\n",D[1].y + 'A');
        else printf("%c\n",D[2].y + 'A');
    }
    return 0;
}

上一篇:d881. 作業苦多

下一篇:d985. Gran Turismo 5