俠阿校長是一位喜歡和學生互動的校長,而她最為人所知的就是會在上學時,站在校門口和同學們說早安。
有天,一位同學感到好奇,校長接下來究竟會在校門口站著多久呢?他記錄了接下來校長開始站在校門口的時間,以及該次的結束時間,非常神奇的是,在這段時間內校長都一直站著,都不用休息的。
請幫忙算一下校長這次究竟總共站了多久。
範例測資
範例輸入 | 範例輸出 |
---|---|
輸入共有兩列。 第一列共有兩個整數 H1 和 M1,表示校長站在校門口的起始時間為 H1 時 M1 分。 第二列共有兩個整數 H2 和 M2,表示校長站在校門口的結束時間為 H2 時 M2 分。 輸入資料滿足 0 ≤ H1, H2 ≤ 23 ;0 ≤ M1 , M2 ≤ 59。 | 請輸出一列,其中包含兩個整數 H 和 M,並以一個空白隔開,表示校長這次總共站了 H小時M 分,須滿足 0 ≤ H ≤ 23;0 ≤ M ≤ 59。 |
7 10 7 20 | 0 10 |
7 20 8 15 | 0 55 |
8 30 13 40 | 5 10 |
解題思路
將兩邊的時間都換算為分鐘,如果結束的時間比開始時間少,代表中間有換日,所以結束的時間要加一天 (1440 分鐘)。答案就是結束的時間減掉開始的時間,小時是 答案/60,分鐘是 答案%60。
範例程式碼-ZeroJudge B682: 同學早安
#include <iostream>
using namespace std;
int main() {
cin.sync_with_stdio(0);
cin.tie(0);
int a, b, start, finish;
cin >> a >> b;
start = (a*60) + b;
cin >> a >> b;
finish = (a*60) + b;
if (start > finish) finish += 1440;
int ans = finish - start;
cout << ans/60 << " " << ans%60 << "\n";
}
//ZeroJudge B682
//Dr. SeanXD