https://www.luogu.org/problem/show?pid=1258
题目描述
甲、乙两人同时从A地出发要尽快同时赶到B地。出发时A地有一辆小车,可是这辆小车除了驾驶员外只能带一人。已知甲、乙两人的步行速度一样,且小于车的速度。问:怎样利用小车才能使两人尽快同时到达。
输入输出格式
输入格式:
仅一行,三个数据分别表示AB两地的距离s,人的步行速度a,车的速度b。
输出格式:
两人同时到达B地需要的最短时间,保留6位小数。
输入输出样例
输入样例#1:
120 5 25
输出样例#1:
9.600000
一个非常劣质的抽象图
+一个简略的解释
车只需来回一次(考虑得出),可以先求出折回时到达的x,以及用时t1,
然后求车与另一个人相遇的用时和相遇的地点y,
最后,用第一个人的步行时间==车拉第二个人到终点的时间
公式及其化简——略去
+一个蒟蒻
1 #include <algorithm> 2 #include <cstdio> 3 4 using namespace std; 5 6 double s,people,car; 7 8 int main() 9 { 10 scanf("%lf%lf%lf",&s,&people,&car); 11 double x=(car+people)*s/(car+3*people); 12 double ans=x/car+(s-x)/people; 13 printf("%.6lf",ans); 14 return 0; 15 }