P8071 题解
思路
我们想要知道比 早 分钟的时间就要把 减少 。
但是这题就这么简单吗?不是的,有可能提前 分钟就到了上一个小时,如果 就到了上一个小时。
这时,我们需要将小时 减 ,分钟 加 。
还有可能提前 分钟就到了上一天,如果 就到了上一天。
这时,我们需要将小时 加 ,因为跨天就一定垮了小时,所以不用考虑分钟的问题。
提醒
要特判跨小时和跨天的情况!
代码
#include<iostream>
using namespace std;
int h,m;
int main(){
cin>>h>>m;
m-=45;
if(m<0){ //要特判跨小时的情况
h-=1;
m+=60;
}
if(h<0){ //要特判跨天的情况
h+=24;
}
cout<<h<<' '<<m<<endl;
return 0;
}
data=input().split()
data[0]=int(data[0])
data[1]=int(data[1])
data[1]-=45
if(data[1]<0): #要特判跨小时的情况
data[0]-=1
data[1]+=60
if(data[0]<0): #要特判跨天的情况
data[0]+=24
print(data[0],data[1])
更新日志
upd 2022.2.15:改正了 不用跨天 这一错误,并加入了 Python 代码。虽然数据没有,但是题面说明中有 的情况。