UVA10812 Beat the Spread!
內容
超級盃又來了,為了打發中場休息時間,大家就來下注最後的結果會如何。大家下注的目標為兩隊最後的分數和,或者兩隊最後分數差的絕對值。
給你這2個值,你能推出這2隊最後的得分是多少嗎?
輸入說明
輸入的第一列有一個整數,代表以下有多少組測試資料。 每組測試資料一列,有2個大於等於 0 的整數 s, d,s 代表比賽結束時2隊分數的總和, d 代表比賽結束時2隊分數差的絕對值。
輸出說明
對每組測試資料輸出一列,包含2個整數代表比賽結束時這2隊的分數,分數大的在前。如果沒有這樣的分數,請輸出「 impossible」。 請記得:美式足球的分數一定是大於等於 0 的整數。
範例輸入
4
40 20
20 40
5 1
100 1
範例輸出
30 10
impossible
3 2
impossible
題意:大家下注的目標為兩隊最後的分數和,或者兩隊最後分數差的絕對值。
給你這2個值,你能推出這2隊最後的得分是多少嗎
#讀取一個整數a,表示接下來有a組測試數據
a = int(input())
#開始迴圈,迴圈a次
for i in range(a):
# 讀取每行的兩個整數x和y,並使用split()函數將它們分開
x, y = map(int, input().split())
#檢查條件:(x + y)是奇數 或 (x + y) < 0 或 (x - y) < 0
if (x + y) % 2 or (x + y) < 0 or (x - y) < 0:
# 如果條件成立,輸出"impossible"
print("impossible")
else:
# 如果條件不成立,計算並輸出符合條件的兩個數字
print(int((x + y) / 2), int((x - y) / 2))