#P17050. [NWERC 2022] Bottle Flip

[NWERC 2022] Bottle Flip

背景

译自 Northwestern Europe Regional Contest (NWERC) 2022 Problem B。

原题许可协议为 CC BY-SA。

题目描述

2022 年,翻瓶挑战 终于传到了地球上的最后一批人那里:NWERC 评审团。你可能知道,这个挑战的目标是把一瓶水在空中翻转 360360^\circ,并希望它落地后能够直立。下图展示了一次成功的翻瓶。

:::align{center}

:::

图:三瓶装有不同水量的瓶子。

经过许多次失败尝试后,我们发现:如果瓶子里装着恰到好处的水量,这件事会明显更容易。简单来说,这是因为水量会影响瓶子即将落地时的质心。为完整起见,质心定义为一个唯一的点:可以把整个瓶子的质量都集中到这个点,而不会改变瓶子对重力的反应,无论瓶子的朝向如何。注意,我们隐含假设水会停留在瓶子的底部。这一定义与直觉上“质心”的含义完全一致。

较低的质心会让瓶子落地后更容易保持直立。不幸的是,最佳水量取决于瓶子本身,而我们已经在这个挑战上浪费了足够多的时间……

:::align{center}

:::

图:一次翻瓶的示意图。瓶子大约装到 33%33\%,以降低挑战难度。

给定我们的瓶子是一个高度为 hh、半径为 rr 的理想圆柱,请确定瓶子应该装入多少水,才能使成功完成翻瓶的机会最大。你可以假设瓶子内的水和空气都具有均匀密度,并且瓶子本身的重量可以忽略不计。

输入格式

输入包含一行四个整数 hhrrdad_adwd_w1h,r,da,dw10001 \leq h,r,d_a,d_w \leq 1000da<dwd_a < d_w),其中 hhrr 分别是瓶子的高度和半径,dad_adwd_w 分别是空气和水的密度。

输出格式

输出一个高度,使得把瓶子装水到这个高度时,瓶子直立放置时的质心尽可能低。你的答案允许绝对或相对误差至多 10610^{-6}

22 4 1 4
7.3333333333
7 2 655 988
3.1415941720

提示

【数据规模与约定】

对于所有数据,满足 1h,r,da,dw10001 \leq h,r,d_a,d_w \leq 1000,且 da<dwd_a < d_w;答案允许绝对或相对误差至多 10610^{-6}