憨态可掬的冬奥会吉祥物“冰墩墩”,从冬奥会开幕那天起就迅速火遍全国,晋升网红“顶流”。线上渠道秒光、线下门店排起抢购长龙,甚至有人带着马扎、棉被,在冬奥特许商品旗舰店门口通宵排队。
小明也渴望一只冰墩墩,经历数次网络抢购失败后,决定乘坐地铁去王府井冬奥旗舰店排队购买。根据前期的排队经验,小明如果7点前能赶到冬奥旗舰店排队点就能抢到冰墩墩。已知从小明家到王府井乘坐地铁总时间是t分钟,从家里走到地铁乘坐点、地铁换乘、从王府井站点下车到排队地点等则步行,步行总长度是s(s≤10000) 米。假设小明可以保持v(v<10000) 米每分钟的速度匀速步行,忽略等待地铁时间,请问为了能够抢到冰墩墩,小明最晚应该什么时候出门?由于路途遥远,小明可能不得不提前一天出发,不过不可能提前超过一天。
输入格式:
输入为一行,包括三个正整数 t,s,v,意思已经在题目中给定,中间用空格分割。
输出格式:
输出 HH:MM 的时间格式,不足两位时补零。
输入样例:
100 6000 60
输出样例:
03:40
解题思路: 见代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int t,s,v;
cin>>t>>s>>v;
int sd=ceil(s*1.0/v)+t;//算出走路的分钟加上坐地铁的分钟ceil向上取整
int q=7*60;//7个小时换成分钟
q=q-sd;//7小时减去要用的时间
if(q<0){//如果是负数
q=24*60+q;//那么是前一天,所以是24*60+负的q
}
printf("%02d:%02d",q/60,q%60);
return 0;
}