創作內容

0 GP

ZeroJudge - e808: 3.不再傻傻等公車 (Bus) 解題心得

作者:Not In My Back Yard│2020-06-04 00:42:53│贊助:0│人氣:23
題目連結:


題目大意:
第一列給定一正整數 n (1 ≦ n ≦ 20),代表公車行經 n 個站牌(編號為 1 ~ n)。接著的一列給定兩正整數 h (0 ≦ h ≦ 23)、 m (0 ≦ m ≦ 59),代表公車的出發時間為 h 點 m 分。

接著有 n 列輸入,每列給定一正整數 t (1 ≦ t ≦ 720),代表公車到下一個站牌所需時間(也就是每兩相鄰列,就是兩個相鄰的站牌)。

最後有一列給定不定量的正整數(當給定一數字「0」,則輸入結束),求公車從出發到該站牌(根據編號)的抵達時間為何?輸出格式為 hh:mm,如 07:40,參見範例輸出。



範例輸入:
範例輸入一:
3
7 15
25
30
15
1 2 0

範例輸入二:
4
23 30
5
38
52
56
1 2 3 4 0


範例輸出:
範例輸出一:
07:40
08:10

範例輸出二:
23:35
00:13
01:05
02:01


解題思維:
簡單的題目。單純地將每個站牌的抵達時間算出來並存在一個陣列即可(索引值直接對應到站牌的編號)。

而時間如果直接加上給定的抵達時間(們),基本上有很大機率不是正確的時間。因此我們需要正規化。而正規化方法很簡單,分鐘 m 就是處於 0 ~ 59 之間,因此就是取除以 60 的餘數。剩下的商數則代表有多少個「額外」的小時,所以加到 h 裡。相似地, h 要取 24 的餘數,因為 h 介於 0 ~ 23 之間。至於該商數(天)在本題用不到。

有了站牌時間,就是輸入哪個編號就輸出對應的抵達時間。記得輸出時如果 h 或是 m 不足兩位數,要在前面補 0 。

此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=4804919
All rights reserved. 版權所有,保留一切權利

相關創作

同標籤作品搜尋:程式題目解題心得

留言共 0 篇留言

我要留言提醒:您尚未登入,請先登入再留言

喜歡★inversion 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:ZeroJudge - ... 後一篇:ZeroJudge - ...

追蹤私訊

作品資料夾

ericjune7777大家
原創小說【日出之國】更新,歡迎用GP砸我看更多我要大聲說8小時前


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】