iT邦幫忙

2023 iThome 鐵人賽

DAY 17
0
SideProject30

UVA題型研究系列 第 17

DAY17:Guess the score

  • 分享至 

  • xImage
  •  

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隊最後的得分是多少嗎

解題:輸入比賽的分數總和及分差,輸出兩隊分數,如果不可能就輸出 impossible 0

#讀取一個整數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))

上一篇
DAY16:odd sum
下一篇
DAY18:Symmetric Matrix
系列文
UVA題型研究30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言