切換
舊版
前往
大廳
主題

ZeroJudge - b682: 2. 同學早安 解題心得

Not In My Back Yard | 2020-08-30 00:00:01 | 巴幣 2 | 人氣 354

題目連結:


題目大意:
輸入有兩列。第一列給定兩非負整數 H1 、 M1 ,代表開始時間;第二列給定兩非負整數 H2 、 M2 ,代表結束時間。

試問兩者差幾小時幾分鐘?(有可能會跨天,但是兩個時刻的差距不會超過 23 小時 59 分鐘)



範例輸入:
範例輸入一:
7 10
7 20

範例輸入二:
7 20
8 15

範例輸入三:
8 30
13 40


範例輸出:
範例輸出一:
0 10

範例輸出二:
0 55

範例輸出三:
5 10


解題思維:
將小時換成分鐘,因此 M1 要加上 60 × H1 、 M2 要加上 60 × H2 。接著判斷 M1 以及 M2 的大小關係。

如果 M1 ≦ M2 ,代表開始跟結束都在同一天,將 M2 減去 M1 ;
如果 M1 > M2 ,代表有跨天,因此將 M2 減去 M1 再加上 1440 (1440 是一整天的分鐘數)。

此時, M2 ÷ 60 的商數以及餘數分別正是所求的小時以及分鐘差。




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

創作回應

更多創作