30. Hartals (CPE10517, UVA10050) - CPE一顆星解答與說明
CPE一顆星49題解答 - pdf 電子檔,售價 199 元,
購買電子檔可將筆記與完整解答帶著走,
坐車、上課時皆可隨時複習,
不受網路或廣告影響,
若有需要請來信購買 greens2314@gmail.com
題目
- hartal 是罷工的意思
- 在 N 天中,損失的工作天數有幾天(就是罷工的天數)
輸入說明
- 第一行為測試資料的筆數
- 每一組測試資料
- 第一行:天數 N (介於7~3650)
- 第二行:政黨數量 P
- 各個政黨的罷工週期
輸出說明
- 根據每筆測試資料,輸出罷工的天數
解題技巧
- 注意題目中天數與星期的關係
- 使用 Set 集合
解題過程
取得輸入
- 使用 for 迴圈產生:第1天 ~ 題目指定的天數
- 將天數除以 7 取餘數,注意餘數與星期的關係
- 判斷餘數是否不等於 6(星期五) 與 0(星期六),題目有規定星期五與六不能為罷工日
- 判斷天數是否可被罷工週期整除(餘數=0)
- 符合上述條件則為合法的罷工日
儲存罷工日
- 使用 Set 集合,因可能出現多個政黨在同一天罷工,造成重複計算,所以使用 Set 集合
- 不允許擺放相同的資料
- 元素具有唯一性的集合
- HashSet implements Set (無順序)
- TreeSet implements Set (有順序)
- 宣告 TreeSet<Integer> set = new TreeSet<Integer>(); 用來儲存不重複的罷工天
- 新增資料:呼叫 add() 方法
印出罷工總天數
- 取得 set 資料數量:呼叫 size() 方法
留言
張貼留言