小Q系列故事——爲什麼時光不能倒流
Time Limit: 300/100 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 3425 Accepted Submission(s): 1469
Problem Description
我以爲我會是最堅強的那一個 我還是高估了自己
我以爲你會是最無情的那一個 還是我貶低了自己
就算不能夠在一起 我還是爲你擔心
就算你可能聽不清 也代表我的心意
那北極星的眼淚 閃過你曾經的眼角迷離
那玫瑰花的葬禮 埋葬的卻是關於你的回憶
如果時光可以倒流 我希望不要和你分離
如果註定分離 我希望不要和你相遇
——摘自《小Q失戀日記 》第17卷520頁
這是碼農小Q第58次失戀了,也是陷得最深的一次。
要知道,小Q自從第一次到騰訊公司報到,就被風姿綽約的前臺MM徹底迷住了,這1000多個日日夜夜他無時無刻不在憧憬着他們美好的未來。爲了能見到MM,他每天早到晚歸,甘願加班,連續3年被評爲優秀員工,並且以全公司最快的速度晉級到四級崗位。就在他終於鼓足勇氣準備表白的時候,MM卻滿面春風地送來了一包喜糖......
現在小Q專門請了年休假治療情傷,但情緒總不見好轉,每天足不出戶,眼睛盯着牆上的鐘表,反覆唸叨:“表白要趁早,時光不倒流,表白要趁早,時光不倒流......”
假設現在已知當前的時間,讓時間倒退回若干,你能計算出鐘錶顯示的時間嗎?
Input
輸入首先包含一個整數N,表示有N組測試用例。
接下來的N行表示N個測試用例,每行包括2個時間HH:MM:SS hh:mm:ss
HH:MM:SS表示當前的時間,hh:mm:ss表示希望倒退回去的時間。
[Technical Specification]
00<=HH<=11
00<=hh<=99
00<=MM, SS, mm, ss<=59
Output
請計算並輸出鐘錶倒退後顯示的時間,要求輸出格式爲HH:MM:SS(即時分秒均顯示2位,不足則補0),每組數據輸出佔一行。
Sample Input
2
11:28:32 02:14:21
05:00:00 96:00:01
Sample Output
09:14:11
04:59:59
#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
int n=0;
scanf("%d",&n);
while(n--)
{
int a=0,b=0,c=0;
int x=0,y=0;
int sum=0;
scanf("%d:%d:%d",&a,&b,&c);
x=a*3600+b*60+c;
//printf("%d\n",x);
scanf("%d:%d:%d",&a,&b,&c);
a=a%24;
y=a*3600+b*60+c;
//printf("%d\n",y);
if(x-y<0)
{
sum=x+86400-y;
}
else
{
sum=x-y;
}
//printf("%d\n",sum);
a=sum/3600;
b=(sum-a*3600)/60;
c=(sum-a*3600-b*60);
a=a%12;
b=b%60;
c=c%60;
if(a/10)
{
printf("%d:",a);
}
else
{
printf("0%d:",a);
}
if(b/10)
{
printf("%d:",b);
}
else
{
printf("0%d:",b);
}
if(c/10)
{
printf("%d\n",c);
}
else
{
printf("0%d\n",c);
}
}
return 0;
}