P15471 [ICPC 2024 WF] Maxwell’s Demon 麦克斯韦妖
题目背景
6s,2048 MB
翻译来源:loj #6978. [「ICPC World Finals 2024」麦克斯韦妖](https://loj.ac/p/6978)。
题目描述
请放心:解决这个问题不需要任何热力学知识。
麦克斯韦妖位于一个高为 $h$、宽为 $2w$ 的容器中。容器被分成两个相邻的腔室,每个腔室的高为 $h$,宽为 $w$。两个腔室之间有一堵无法穿透的墙隔开,麦克斯韦妖固定在这堵中心墙上的某个位置。
腔室内有粒子,每个粒子具有位置、速度和颜色。当一个粒子撞击腔室的墙壁时,它会以完美的弹性反射。图 H.1 显示了一个包含两个粒子的容器,左腔室有一个蓝色粒子,右腔室有一个红色粒子。

图 H.1:第一个示例输入。麦克斯韦妖在图中以灰色放大显示,而实际上它无限小(也没有脸)。
麦克斯韦妖希望通过对粒子进行分类来降低熵值。它希望所有红色粒子都在左腔室,而所有蓝色粒子都在右腔室。为此,它拥有一种特殊能力:当粒子撞击到妖所在的位置时,它可以让粒子穿过中心墙。
腔室的底部位于 $x$ 轴上,中间的分隔墙沿着正 $y$ 轴方向。在妖选择的任意时刻,所有位于妖的位置 $(0, d)$ 的粒子不会被中心墙反射,而是会穿过墙进入另一个腔室,并保持其速度不变。妖可以随时且多次执行此操作,也可以选择不让粒子通过,即使粒子撞击到了妖的位置。然而,如果多个粒子同时位于位置 $(0, d)$,则要么所有这些粒子都穿过中心墙,要么所有粒子都被反射。
请帮助麦克斯韦妖对粒子进行分类并降低熵值!最早在什么时间可以实现所有红色粒子都在左腔室、所有蓝色粒子都在右腔室的状况?
输入格式
第一行包含五个整数 $w, h, d, r, b$,其中 $w$ 和 $h$ $(2 \leq w, h \leq 200)$ 分别是每个腔室的宽度和高度,$d$ $(0 \leq d \leq h)$ 是妖在容器中心墙上的 $y$ 坐标,$r$ 和 $b$ ($0 \leq r, b$ 且 $1 \leq r+b \leq 200$)分别是红色粒子和蓝色粒子的数量。
接下来有 $r+b$ 行,每行描述一个粒子,使用四个整数 $p_{x}, p_{y}, v_{x}, v_{y}$,其中 $(p_{x}, p_{y})$ $(0 < |p_{x}| < w, 0 < p_{y} < h)$ 是粒子的初始位置,$(v_{x}, v_{y})$ $(|v_{x}| < w, |v_{y}| < h, (v_{x}, v_{y}) \neq (0,0))$ 是粒子的初始速度。前 $r$ 个描述的粒子是红色的,其余的是蓝色的。
输出格式
输出实现所有红色粒子在左腔室、所有蓝色粒子在右腔室所需的最短时间。你的答案和标准答案绝对或相对误差不应超过 $10^{-6}$。如果在有限时间内无法实现所有红色粒子在左腔室、所有蓝色粒子在右腔室的情况,则输出 `impossible`。