b758 - 牛仔(ㄗˇ)很忙
題目描述
題目描述了蛋塔寄住在阿蕙家,阿蕙午睡時間不能被打擾。題目給定現在的時間,要求計算出最早可以在多久後才能吵醒阿蕙,並以 HH:MM 的格式輸出。阿蕙的午睡時間是兩個半小時,也就是 2 小時 30 分鐘。
解題思路
題目要求計算在當前時間加上 2 小時 30 分鐘後的時間。由於時間是 24 小時制,需要處理分鐘數超過 59 的情況,以及小時數超過 23 的情況。程式碼直接將小時數加 2,分鐘數加 30,然後進行必要的進位處理。如果分鐘數超過 59,則將分鐘數減 60,小時數加 1。如果小時數超過 23,則將小時數減 24。最後,將小時數和分鐘數格式化為兩位數的字符串輸出。
複雜度分析
- 時間複雜度: O(1)
- 空間複雜度: O(1)
程式碼
#include <iostream>
using namespace std;
int main(){
int h=0;
int m=0;
while (cin >> h >> m){
h+=2;
m+=30;
if(m>59){
m-=60;
h++;
}
if(h>23){
h-=24;
}
if(h<10){
cout << 0;
}
cout << h << ":";
if(m<10){
cout << 0;
}
cout << m <<endl;
}
}