题目
甲、乙两人同时从A地出发要尽快同时赶到B地。出发时A地有一辆小车,可是这辆小车除了驾驶员外只能带一人。已知甲、乙两人的步行速度一样,且小于车的速度。问:怎样利用小车才能使两人尽快同时到达。
代码如下
#include <cstdio>
using namespace std;
double s,v1,v2,x;
int main(){
scanf("%lf%lf%lf",&s,&v1,&v2);
x=(2*v1*s)/(v2+3*v1);
printf("%.6lf",x/v1+(s-x)/v2);
return 0;
}
分析
首先x表示的是小车停的地方,所以输出走路的时间+坐车的时间
然后关键是怎样求这个停车的地方。
|——x——|——s-2x——|——x——|
x/a=(s−x+s−2x)/bx/a=(s-x+s-2x)/bx/a=(s−x+s−2x)/b
x=(2∗a∗s)/(a∗3+b)x=(2 * a * s) / (a * 3+b)x=(2∗a∗s)/(a∗3+b)