20. Beat the Spread! (CPE10454, UVA10812) - CPE一顆星解答與說明
CPE一顆星49題解答 - pdf 電子檔,售價 199 元,
購買電子檔可將筆記與完整解答帶著走,
坐車、上課時皆可隨時複習,
不受網路或廣告影響,
若有需要請來信購買 greens2314@gmail.com
題目
- 計算兩隊的分數
- 題目會提供
- 兩隊的分數加總
- 兩隊比分相減取絕對值
輸入說明
- 第一行的數字 n 是宣告接下來有幾筆資料
- 每筆測試資料有一行,包含
- 數字 s:兩隊分數加總
- 數字 d :兩隊分數相減取絕對值
輸出說明
- 根據每筆測試資料
- 輸出兩隊各別的分數,大的分數先印出
- 如果為不合理的分數(小於0),則輸出 impossible
解題技巧
- 聯立方程式
解題過程
取得輸入
- 取得資料筆數,使用 nextInt()
- 根據資料筆數,使用 for 迴圈讀取資料
- 讀取 兩隊加總數字 a ,使用 nextInt()
- 讀取 兩隊相差數字 b ,使用 nextInt()
判斷是否為不合理的情況
- 檢查 a 隊的分數或 b 隊分數,若小於 0為不合理
- 檢查sum + diff 是否為奇數
- 比分是整數,沒有小數點
- 而 a 隊分數 = ( sum + diff ) / 2
- 所以 sum + diff 必須為偶數,才可以被 2 整除
- 若 sum + diff 除以 2 餘數為 1,則為不合理 ,比分會有小數點
- 輸出
- 不合理印出 impossible
- 合理印出 a 隊與 b 隊的分數
留言
張貼留言