题目来源: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;
}