2024年新添加的那篇稍微好点,但是也不够精简,其他题解是故意写成那么麻烦的吗?
已经加不了新题解了,只能发这提一嘴了
#include <iostream>
using namespace std;
int main(){
int s,v,ans=60*8;
cin >> s >> v;
ans-=s/v+10;
if(s%v) --ans; //向上取整
while(ans<0) ans+=60*24;
printf("%02d:%02d",ans/60,ans%60);
return 0;
}
①用分钟数计算时间
②向上取整,就多判断一次,不能整除就多减一就好
③要提早到前一天,也就是时间减到负数,那就加上一天的时间
④格式化输出用%02d就能满足2位补0了