作者 李祥
单位 湖北经济学院
甲乙两人相距 d 公里,两人的行进速度分别为 v1 和 v2 公里/小时,从时刻 h1:m1:s1 同时出发同向而行,甲在前、乙在后,请计算乙追上甲的时刻 h2:m2:s2。
注:h1:m1:s1 和 h2:m2:s2 分别为两个时刻的时、分和秒,其中时和分为整数,秒为小数。
输入格式
d
v1 v2
h1:m1:s1
输出格式
若问题有解,则输出:h2:m2:s2
否则输出:None
要求:时间的输出格式为 hh:mm:ss.ss。秒数保留 2 位小数。
输入样例1
12.5
2.3 1.6
8:18:7.2
输出样例1
None
输入样例2
16.56
1.05 2.67
12:36:4.5
输出样例2
22:49:24.50
注意输出格式。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define endl "\n"
void solve(){
double d,v1,v2,z,t,jl;
ll x,y;
char _;
cin >> d >> v1 >> v2 >> x >> _ >> y >> _ >> z;
if(v1 >= v2){
cout << "None" << endl;
return;
}
d*=1000;
v1=v1/3.6;
v2=v2/3.6;
t=d/(v2-v1);
jl=x*3600+y*60+z+t;
x=int(jl/3600);
x%=24;
while(jl >= 3600)jl-=3600;
y=int(jl/60);
while(jl >= 60)jl-=60;
printf("%02d:%02d:%05.2f\n",x,y,jl);
return;
}
int main(){
ll t=1;//cin >> t;
while(t--)solve();
return 0;
}