P17050 [NWERC 2022] 翻瓶挑战 / Bottle Flip
题目背景
译自 [Northwestern Europe Regional Contest (NWERC) 2022](https://2022.nwerc.eu) Problem B。
原题许可协议为 CC BY-SA。
题目描述
2022 年,**翻瓶挑战** 终于传到了地球上的最后一批人那里:NWERC 评审团。你可能知道,这个挑战的目标是把一瓶水在空中翻转 $360^\circ$,并希望它落地后能够直立。下图展示了一次成功的翻瓶。
:::align{center}

:::
图:三瓶装有不同水量的瓶子。
经过许多次失败尝试后,我们发现:如果瓶子里装着恰到好处的水量,这件事会明显更容易。简单来说,这是因为水量会影响瓶子即将落地时的质心。为完整起见,质心定义为一个唯一的点:可以把整个瓶子的质量都集中到这个点,而不会改变瓶子对重力的反应,无论瓶子的朝向如何。注意,我们隐含假设水会停留在瓶子的底部。这一定义与直觉上“质心”的含义完全一致。
较低的质心会让瓶子落地后更容易保持直立。不幸的是,最佳水量取决于瓶子本身,而我们已经在这个挑战上浪费了足够多的时间……
:::align{center}

:::
图:一次翻瓶的示意图。瓶子大约装到 $33\%$,以降低挑战难度。
给定我们的瓶子是一个高度为 $h$、半径为 $r$ 的理想圆柱,请确定瓶子应该装入多少水,才能使成功完成翻瓶的机会最大。你可以假设瓶子内的水和空气都具有均匀密度,并且瓶子本身的重量可以忽略不计。
输入格式
输入包含一行四个整数 $h$、$r$、$d_a$ 和 $d_w$($1 \leq h,r,d_a,d_w \leq 1000$,$d_a < d_w$),其中 $h$ 和 $r$ 分别是瓶子的高度和半径,$d_a$ 和 $d_w$ 分别是空气和水的密度。
输出格式
输出一个高度,使得把瓶子装水到这个高度时,瓶子直立放置时的质心尽可能低。你的答案允许绝对或相对误差至多 $10^{-6}$。
说明/提示
【数据规模与约定】
对于所有数据,满足 $1 \leq h,r,d_a,d_w \leq 1000$,且 $d_a < d_w$;答案允许绝对或相对误差至多 $10^{-6}$。