Description
学校和 yyy 的家之间的距离为 s 米,而 yyy 以 v 米每分钟的速度匀速走向学校。
在上学的路上,yyy 还要额外花费 10 分钟的时间进行垃圾分类。
学校要求必须在上午 8:00 到达,请计算在不迟到的前提下,yyy 最晚能什么时候出门。
由于路途遥远,yyy 可能不得不提前一点出发,但是提前的时间不会超过一天。
Input
一行两个正整数 s,v,分别代表路程和速度。
Output
输出一个 24小时制下的时间,代表 yyy 最晚的出发时间。
输出格式为 HH:MM,分别代表该时间的时和分。必须输出两位,不足前面补 0。
Sample 1
Inputcopy | Outputcopy |
100 99 | 07:48 |
Hint
对于100% 的数据,1≤s,v≤104。
理解:该题需要了解各元素之间的关系。
注意:
1、路上花费额外10分钟
2、提前出发不超过一天
3、计算上学途中花费时间是否含小数,来判断是否再多提前一分钟(例如输出样例7:48而不是7:49)
4、输出时补位0
#include<stdio.h>
int main()
{
int s,v,x,h,m;//定义路程、速度、时间
scanf("%d%d",&s,&v);//输入路程、速度
int c=s%v;//上学路途花费时间
if(s%v!=0)//判断花费时间是否带小数
c=s/v+11;//有小数,多提前十一分钟
else
c=s/v+10;//无小数, 提前十分钟
if(480-c<0)//判断提前出发时间是否超过当日零点
{
x=1440+(480-c); //是,提前时间为前一日
h=x/60;
m=x%60;
}
else
{
h=(480-c)/60; //不是,提前时间为当日
m=(480-c)%60;
}
printf("%02d:%02d",h,m); //输出出发时间
return 0;
}