题目描述
甲、乙两人同时从 A 地出发要尽快同时赶到 B 地。出发时 A 地有一辆小车,可是这辆小车除了驾驶员外只能带一人。已知甲、乙两人的步行速度一样,且小于车的速度。问:怎样利用小车才能使两人尽快同时到达。
输入格式
仅一行,三个整数,分别表示 A、B 两地的距离 s (1≤s≤2000) 米,人的步行速度 a 米/秒,车的速度 b 米/秒,a<b<2000。
输出格式
两人同时到达 B 地需要的最短时间,单位秒,保留 2 位小数。
Sample Input
120 5 25
Sample Output
9.60
本题主要是数学问题,只要找出距离,时间之间的关系就可以。由题两人同时到达,且要求时间最短,两人走的距离一样。在距离终点X时返回去接另一个人,然后同时到达终点,两人步行的距离均为X。X=(2*s*a)/(3*a+b)(利用时间相等求的,人走X到终点的时间,等于小车返回接另一个人然后到终点的时间),再算总时间,步行的时间加上坐车的时间。
#include<iostream>
using namespace std;
int main()
{
double s,a,b;
cin>>s>>a>>b;
double x=(2*s*a)/(3*a+b);
double t=(s-x)/b+x/a;
printf("%.2f",t);
}