洛谷P5707上学迟到

题目来源:https://www.luogu.com.cn/problem/P5707

题意:学校要求在八点前到达,计算最晚出门时间。

已知路上要花十分钟用来垃圾分类。

输入与学校距离s,速度v m/min

输出24小时制的时间

这里考虑到不足1分钟按一分钟计算,所以在计算路上时间时我们需要向上取整,所以会用到ceil函数

以下是AC代码

  • 我们把所有时间都转化为分钟,计算后再转化为24小时制时间
  • 主要判断时间是否在前一天
#include <bits/stdc++.h>
using namespace std;
void change(int min)//用来把分钟转化为时间。并输出
{
    int h=min/60;
    min%=60;
    if(h<10) cout<<"0"<<h;
    else cout<<h;
    cout<<":";
    //if(min<0) min*=-1;
    if(min<10) cout<<"0"<<min;
    else cout<<min;
}
int main()
{
    float s,v;
    cin>>s>>v;
    int t=ceil(s/v)+10;//计算路上花费的时间 
    if(t>8*60)
    {
        t-=8*60;
        int min=24*60;
        min-=t;
        change(min);
    }
    else {
        int min=8*60;
        min-=t;
        change(min);
    }
    return 0;
}
posted @ 2025-08-05 12:47  流云鹤=  阅读(16)  评论(0)    收藏  举报