题解:P5707 【深基2.例12】上学迟到

· · 题解

题目已给出了路程与速度,可以求出时间

我们将 8 小时换算为分钟( 8 * 60

时间可能大于 1 天,我们在求出的时间(分钟)加上 24 * 60

将时间除以 60 的结果就是用的小时数,将时间除以 60 的余数就是用的分钟数

格式化输出可以用 printf("%02d:%02d",h,m);

代码:

#include<bits/stdc++.h>
using namespace std;
int s,v;
int main(){
    cin>>s>>v;
    int tim=(s+v-1)/v;//计算走路时间
    int al=tim+10;
    int tim2=8*60-al;//计算出发时间(分钟表示)
    if(tim2<0)tim2+=24*60;//处理负数时间
    int h=tim2/60;
    int m=tim2%60;
    //输出
    printf("%02d:%02d",h,m);
    return 0;
}

AC