睡眠
题目描述
小G醒来,从电子表上看到现在的时间是s,并且他知道自己已经睡了时间t。
给定时间s和t,帮助小G算出他开始进入睡眠的时间p。
注意:小G可能在前一天进入睡眠。
输入
第一行包含现在的时间s,形式为“hh:mm”的字符串。
第二行包含时间t,形式为“hh:mm”的字符串,表示小已经G睡了多久。
输入保证都是正确的24小时制的时间,也就是00≤hh≤23,00≤mm≤59。
输出
输出只有一行,包含一个字符串p,形式为“hh:mm”,表示小G开始进入睡眠的时间。
样例输入 Copy
【样例1】
05:50
05:44
【样例2】
00:00
01:00
样例输出 Copy
【样例1】
00:06
【样例2】
23:00
Ac代码
#include <bits/stdc++.h>
using namespace std;
int main() {
string a,b;
cin>>a;
cin>>b;
int h1,m1,h2,m2,s1,s2,t,h,m,x,y;
h1=(a[0]-'0')*600+(a[1]-'0')*60;
m1=(a[3]-'0')*10+a[4]-'0';
h2=(b[0]-'0')*600+(b[1]-'0')*60;
m2=(b[3]-'0')*10+b[4]-'0';
s1=h1+m1;
s2=h2+m2;
if(s2>s1)
{
t=s2-s1;
h=t/60;
m=t%60;
if(m>0&&h==0)
printf("23:%02d",m);
if(h>0&&m>0)
printf("%02d:%02d",23-h,60-m);
if(h>0&&m==0)
printf("%02d:00",24-h);
}
if(s2<=s1)
{
t=s1-s2;
h=t/60;
m=t%60;
printf("%02d:%02d",h,m);
}
}

浙公网安备 33010602011771号