题解 | #游游开车出游#(Python)
游游开车出游
https://www.nowcoder.com/practice/667369e08b2f498c89a935df0af921b3
# 给出 v,x,y,求 y/(v+x*t)+t 最小
# 凹函数,先下降再上升,三分法求解
v, x, y = map(float, input().split())
def cal(t):
return y/(v+x*t)+t
left = 0
right = 2e9
# 题目要求精确率1e-6
while(right-left>1e-7):
fm = (right-left) / 3.0
fl = left + fm
fr = fl + fm
if (cal(fl)<cal(fr)):
right = fr
else:
left = fl
print('%0.9f'%cal(left))
#15天刷题#
深信服公司福利 838人发布