P15611 [ICPC 2021 Jakarta R] Stable Planetary System

题目描述

年轻的天文学家艾玛因其发现了一个新的行星系统以及记录该行星系统的创新方法,获得了国际宇宙与行星委员会(ICPC)的奖项。 这个新行星系统由一颗恒星和围绕它运行的 $N$ 颗行星组成。所有行星都在同一平面上运行,因此可以很容易地在二维平面上绘制它们。此外,每颗行星都有以恒星为中心的完美圆形轨道。所有行星都沿逆时针方向绕恒星公转。 为简化问题,恒星和每颗行星均被视为点,其大小可忽略不计。恒星位于原点。 通过研究,艾玛成功记录了每颗行星的位置及其公转周期(行星绕恒星完整运行一周所需的时间)。具体来说,艾玛为每颗行星记录了 $\langle R_{i}, \theta_{i}, T_{i}\rangle$,其中 $\langle R_{i}, \theta_{i}\rangle$ 是其极坐标,$T_{i}$ 是其公转周期。极坐标 $\langle R_{i}, \theta_{i}\rangle$ 表示行星到恒星的距离为 $R_{i}$,与极轴(正 $x$ 轴)的夹角为 $\theta_{i}$。为了输入为整数,角度 $\theta_{i}$ 被乘以 $1000$,因此其值介于 $0$ 到 $359999$(包含)之间,代表 $0^{\circ}$ 到 $359.999^{\circ}$ 之间的任意角度。 艾玛在同一个时刻(即 $t = 0$ 时)记录了所有行星的位置。注意,在 $t > 0$ 时,每颗行星的位置可能因其公转周期而不同,例如,一颗在 $t = 0$ 时位于 $\langle 3, 180000 \rangle$、公转周期为 $4$ 个单位的行星,在 $t = 1$ 时将位于 $\langle 3, 270000 \rangle$,在 $t = 1.5$ 时将位于 $\langle 3, 315000 \rangle$;在 $t = 4$(其公转周期)时,该行星将完成一周公转,回到 $\langle 3, 180000 \rangle$。 艾玛假设,如果行星之间距离不太近,行星系统会更加稳定。由于尚未对这个新行星系统进行分析,艾玛想知道这个新行星系统中所有行星对之间的最小距离。为了测量距离,艾玛直接使用二维平面上的欧几里得距离。 两个行星之间的距离定义为它们可能达到的最短距离,即对于任意 $t \in [0, \infty)$ 而言的最小距离。注意 $t$ 可以是实数。例如,设两个行星分别为 $\langle 3, 180000, 4 \rangle$ 和 $\langle 4, 0, 2 \rangle$。在 $t = 0$ 时,它们之间的距离为 $7$ 个单位;此时它们位于恒星的两侧,即第一颗行星在 $180^{\circ}$,第二颗行星在 $0^{\circ}$。当 $t = 2$ 时,第一颗行星运行了半圈,位置变为 $\langle 3, 0 \rangle$,与 $t = 0$ 时的位置相对;而第二颗行星运行了完整一圈,位置与 $t = 0$ 时相同,即 $\langle 4, 0 \rangle$。此时它们之间的距离为 $1$ 个单位。这是这两颗行星能达到的最短距离,因此它们之间的距离为 $1$ 个单位。 给定每颗行星在 $t = 0$ 时的位置和公转周期,你的任务是确定所有行星对之间的最小距离。如果存在两颗行星在某个 $t > 0$ 时碰撞(即位于同一位置),则直接输出 $0$;这样的行星系统是不稳定的。

输入格式

输入第一行包含一个整数 $N$($2 \leq N \leq 200\,000$),表示新行星系统中的行星数量。接下来 $N$ 行,每行包含三个整数 $R_{i}$、$\theta_{i}$ 和 $T_{i}$($1 \leq R_{i}, T_{i} \leq 10^{8}$;$0 \leq \theta_{i} < 360\,000$),分别表示第 $i$ 颗行星在 $t = 0$ 时的极坐标 $\langle R_{i}, \theta_{i}\rangle$ 及其公转周期。极坐标 $\langle R_{i}, \theta_{i}\rangle$ 表示行星到恒星的距离为 $R_{i}$,与极轴的夹角为 $\theta_{i}$。保证在 $t = 0$ 时没有两颗行星位于同一位置。

输出格式

输出一行一个实数,表示题目描述中所定义的所有行星对之间的最小距离。如果存在两颗行星在某时刻碰撞,则输出 $0$。只要你的答案绝对误差或相对误差不超过 $10^{-6}$,即被视为正确。

说明/提示

#### 样例 #1 解释 在 $t = 0$ 时,行星位置如下图所示。 :::align{center} ![](https://cdn.luogu.com.cn/upload/image_hosting/4ltvaf6e.png) ::: 最小距离来自第 $2$ 颗和第 $3$ 颗行星在 $t = 2$ 时的距离。下图显示了 $t = 2$ 时的行星位置。 :::align{center} ![](https://cdn.luogu.com.cn/upload/image_hosting/7ju45lqf.png) ::: #### 样例 #2 解释 第 $1$ 颗和第 $2$ 颗行星将在 $t = 0.5$ 时碰撞,即两者都位于 $\langle 100, 90000 \rangle$。 #### 样例 #3 解释 第 $1$ 颗和第 $2$ 颗行星之间的距离在所有时刻都保持不变。 翻译由 DeepSeek 完成