洛谷——P1258 小车问题

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 } 

 

posted @ 2017-04-22 17:19  Aptal丶  阅读(258)  评论(0编辑  收藏  举报