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