切換
舊版
前往
大廳
主題

ZeroJudge - e508: 11917 - Do Your Own Homework! 解題心得

Not In My Back Yard | 2019-11-01 21:55:25 | 巴幣 0 | 人氣 182

題目連結:


題目大意:
給定一正整數 T (T < 100),代表測試資料的數量。

每筆測試資料的第一列給定一正整數 N (1 ≦ N ≦ 100),代表有 N 個科目。接著的 N 列輸入,每列給定一個只由小寫字母組成的字串(長度介於 1 ~ 20 之間)以及一個正整數,代表一個科目的名稱以及所需天數。

接著再給定一正整數 D ,代表只剩 D 天可以做作業。再下一列給定一小寫字母組成的字串,代表要完成的科目之名稱(有可能沒有在上面出現過)。

如果完成此科目的所需時間 ≦ D 天,輸出「Yesss」;如果完成時間超過 D 但不超過 D + 5 天,則輸出「Late」;如果來不及完成或該科目沒有出現先前的科目表裡,輸出「Do your own homework!」。輸出格式請參見範例輸出。



範例輸入:
3
3
compiler 4
cplusplus 1
java 8
5
compiler
2
algorithm 3
math 9
4
math
2
java 8
ai 3
6
calculus


範例輸出:
Case 1: Yesss
Case 2: Late
Case 3: Do your own homework!


解題思維:
也是照題目的要求做即可——對於要完成的科目,先去上面給定的科目表去找找看(因為最多 100 個科目,所以開陣列直接存、直接找即可)。

找不到就輸出「Do your own homework!」;找到就看完成時間介於哪個區間。如果小於等於 D ,輸出「Yesss」;大於 D 但不超過 D + 5 ,輸出「Late」;大於 D 就輸出「Do your own homework!」。

此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作