您的位置:首页 > 其它

洛谷P1258 小车问题

2016-10-10 23:17 253 查看

 

题目描述

甲、乙两人同时从A地出发要尽快同时赶到B地。出发时A地有一辆小车,可是这辆小车除了驾驶员外只能带一人。已知甲、乙两人的步行速度一样,且小于车的速度。问:怎样利用小车才能使两人尽快同时到达。

输入输出格式

输入格式:

 

仅一行,三个数据分别表示AB两地的距离s,人的步行速度a,车的速度b。

 

输出格式:

 

两人同时到达B地需要的最短时间,保留6位小数。

 

输入输出样例

输入样例#1:
120 5 25
输出样例#1:
9.600000

 

小学数学行程问题。

一个人先走,一个人乘车,中途后者下车步行,车返回去接另一个人,最终两个人同时到终点,用时最短。

设x表示在距离终点x单位远时让车折返,

得(s-x)/a=2*(2*x/(a+b)-x/b)+(s-x)/b

化简得x=(b+a)*s/(b+3a)

算时间即可。

顺便学了一下cout控制精度。

 

/*by SilverN*/
#include<iostream>
#include<iomanip>
#include<algorithm>
#include<cstring>
#include<cstdio>
#include<cmath>
double s,a,b,x;
using namespace std;
int main(){
cin>>s>>a>>b;
x=(a+b)*s/(b+3*a);
x=(x/b)+(s-x)/a;
cout<<setiosflags(ios::fixed);
cout<<setprecision(6)<<x<<endl;
}

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: