20. Beat the Spread! (CPE10454, UVA10812) - CPE一顆星解答與說明

   👉  CPE 一顆星選集列表(49題) 題目說明與解答

CPE一顆星49題解答 - pdf 電子檔,售價 199 元,

購買電子檔可將筆記與完整解答帶著走,

坐車、上課時皆可隨時複習,

不受網路或廣告影響,

若有需要請來信購買 greens2314@gmail.com

上傳進度:已上傳 390465 個位元組 (共 390465 個位元組)。

題目


  • 計算兩隊的分數
    • 題目會提供
      • 兩隊的分數加總
      • 兩隊比分相減取絕對值

輸入說明


  • 第一行的數字 n 是宣告接下來有幾筆資料
    • 每筆測試資料有一行,包含
      • 數字 s:兩隊分數加總
      • 數字 d :兩隊分數相減取絕對值




輸出說明


  • 根據每筆測試資料
  • 輸出兩隊各別的分數,大的分數先印出
  • 如果為不合理的分數(小於0),則輸出 impossible



解題技巧

  • 聯立方程式

解題過程

取得輸入

  • 取得資料筆數,使用 nextInt() 
  • 根據資料筆數,使用 for 迴圈讀取資料
    • 讀取 兩隊加總數字 a ,使用 nextInt() 
    • 讀取 兩隊相差數字 b ,使用 nextInt() 


推算兩隊的分數

  • 假設兩隊為:a 隊、b 隊, a 隊分數 ≥ b 隊分數
  • 由題目資訊可知

判斷是否為不合理的情況

  • 檢查 a 隊的分數或 b 隊分數,若小於 0為不合理 
  • 檢查sum + diff 是否為奇數
    • 比分是整數,沒有小數點
    • 而 a 隊分數 = ( sum + diff ) / 2
    • 所以 sum + diff 必須為偶數,才可以被 2 整除
    • 若 sum + diff 除以 2 餘數為 1,則為不合理 ,比分會有小數點 
  • 輸出
    • 不合理印出 impossible
    • 合理印出 a 隊與 b 隊的分數



CPE一顆星49題解答 - pdf 電子檔,售價 199 元,

購買電子檔可將筆記與完整解答帶著走,

坐車、上課時皆可隨時複習,

不受網路或廣告影響,

若有需要請來信購買 greens2314@gmail.com


留言

這個網誌中的熱門文章

CPE 一顆星選集題目說明與解答 - Java 筆記與心得分享

Visual Studio 自動排版格式化程式碼

1. Vito's family (CPE10406, UVA10041) - CPE一顆星解答與說明