分治 小车载人问题

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

题目分析
本该用分治求出K点的
A____a___b_____k___l__________B
k是甲坐车到最恰当的位置。
a是甲坐车到最恰当位置时乙走到的位置
b是车往回接乙与乙相遇的位置
l是乘车的乙与下车后徒步的甲的相遇一同步行位置
A是起点
B是终点
这样一来,题目就变成求K点的位置了。
但是发现题库有点问题,用分治法(标程也错)会超时,于是给出了一个公式的程序。

程序
以后会争取读懂这个公式什么意思。

var
  s,a,b,t:real;
begin
  readln(s,a,b);
  t:=(a+b)*s/(b+3*a);
  writeln((t/b)+(s-t)/a:0:4);
end.

你可能感兴趣的:(分治 小车载人问题)