SSL JudgeOnline 1668——小车载人问题

Description

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

Input

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

Output

两人同时到达B点的最短时间(结果保留小数点后4位)。

Sample Input

120 5 25
Sample Output

9.6000
保留小数点后4位


最佳方案就是甲乘车到k处后下车步行,小车再回去接在c处的乙。然后甲乙一起到B地。

我们用二分的方法求k直达到达时间满足精度。


代码如下:

const z=1e-4;
var
  s,a,b,c,c0,c1,t1,t2,t3,t4:real;
begin
  readln(s,a,b);
  c0:=0;
  c1:=s;
  repeat
    c:=(c0+c1)/2;
    t3:=c/b;
    t2:=t3+(s-c)/a;
    t4:=(c-t3*a)/(a+b);
    t1:=t3+t4+(s-(t3+t4)*a)/b;
    if t1<t2 then c0:=c else c1:=c;
  until abs(t1-t2)<=0.0001;
  write(t1:0:4);
end.

转载于:https://www.cnblogs.com/Comfortable/p/8412461.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值