題目連結:
題目大意:
有一個人叫郭房布,他想要回台北。而他有以下交通工具可搭乘:
1. 客運(Bus):原始價格 400 元,所需時間 6 小時
2. 火車(Train):原始價格 600 元,所需時間 4.5 小時
3. 高鐵(HSR):原始價格 1000 元,所需時間 1.5 小時
4. 走路(Walking):價格必為 0 元,所需時間超過 48 小時,但是只要房布有足夠的錢可以作其他選擇,他就不會走路回台北。
第一列給定一正整數 T (1 ≦ T ≦ 50, 000),代表接下來有幾組測試資料。
每組測試資料由四列輸入所構成。第一列給定兩正整數 M 、 H (0 ≦ M ≦ 10, 000 、 0 ≦ H < 24),代表房布身上有M元且他要在 H 點(24小時制)時出發。
接下來的三列,分別代表客運、火車以及高鐵的折扣資訊。每列有三個正整數 K0 、 K1 、 K2 (0 < K0 、 K1 、 K2 ≦ 200),代表離峰、一般、尖峰的折扣係數(有可能更貴)。而票價為:(原始票價) × (折扣係數) ÷ 100。
離峰時段為每日 21 時(含)至隔日上午 6 時(不含)、14 時(含)至 16 時(不含) ;尖峰時段為每日上午 6 時(含)至上午 9 時(不含)、17 時(含)到 19 時(不含) ;不屬於上述時段的時間即為一般時段。
而尖離峰的判斷以上車時間為基準。
求房布怎麼回台北比較好(先判斷哪個交通工具最便宜,一樣的話再判斷何者最快)。如果是客運請輸出「Bus」;是火車請輸出「Train」;是高鐵請輸出「HSR」。如果房布只能走路回台北,請輸出「Walk home」。
2
600 12
90 150 200
60 90 100
40 54 90
10 0
200 300 400
200 250 300
2 3 4
純粹的流程控制。先檢查輸入的 H 屬於離峰、尖峰還是一般時段。然後再從相應的客運、火車以及高鐵的票價當中選出最便宜的。如果價錢一樣,就選耗時最少的。
而如果選出來最便宜、最快的交通工具之票價 > 房布的錢 M ,則直接輸出「Walk home」;反之,輸出相應的交通工具。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。