Test Message

d984: 棄保效應

內容

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


輸入

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

3 4 5
1 3 5

輸出

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

B
C


解題思路

只有 3 個人,用巢狀 if 判斷即可,注意人數相加會超過 int 範圍要使用 unsigned 或 long long。


完整程式碼

AC (1ms, 88KB)
#include <stdio.h>

int main()
{
long long a, b, c;
while (scanf(" %lld %lld %lld", &a, &b, &c) == 3)
{
if (a > b && a > c)
{
if (a > b + c)puts("A");
else if (b > c)puts("B");
else puts("C");
}
else if (b > a && b > c)
{
if (b > a + c)puts("B");
else if (a > c)puts("A");
else puts("C");
}
else
{
if (c > a + b)puts("C");
else if (a > b)puts("A");
else puts("B");
}
}
return 0;
}