回分類題庫
a037: 公平的戰役(N行版)
關鍵字: 連續輸入

測資點 : 1 | Time Limit : 1000 ms | Memory Limit : 32000 KB
Accepted : 5144 Times / 4605 Users | Submit : 10644 Times / 4774 Users | Accepted rate : 96%
題目加入時間 : 2011-11-26 22:55

Content: 简体中文

公平大陸上有許多小王國,常常為了爭奪領土而開戰,但是因為公平大陸上的居民都是非常講究公平的,因此絕對不允許有以多欺少的情形,所以在開戰之前,他們會先統計兩方的兵力,如果有一方的兵力是比較多的,則那一方必須撤出部分的兵力,使兩方的兵力相等,你能幫他們完成這項工作嗎?

Input:

第一行有一個正整數 N (1<=N<=10) 代表接下來有幾組資料,
接下來有 N 行,每行有兩個正整數 A、B,代表 A、 B兩方的兵力。

Output:

依照每一組資料,輸出哪一方(A 或 B)必須撤兵,以及要撤出多少兵力,才能使兩方的兵力相等,如果兩方原本的兵力就相同,則請輸出 0,每組資料輸出完請換行。

Sample Input:help

若題目沒有特別說明,則應該以多測資的方式讀取,若不知如何讀取請參考 a001 的範例程式。
2
100 150
160 100

Sample Output :

B 50
A 60

Hint :

第一行有一個整數,告訴你題目總共有幾組測試資料,這是在 Online Judge 系統中最常見的連續輸入的題型,你可以用一個 for 迴圈讓它執行指定的次數:

cin >> n;
for (i=1; i<=n; i++)
{
    ....
}

而如果迴圈中並不需要知道目前是第幾組的測試資料,則可以用 while 迴圈來處理,少一個變數的使用:

cin >> n;
while (n--)
{
    ....
}

Author :

連續輸入 (管理員:sagit)

  Solve it!   Status Forum