CF1427H Prison Break
题目描述
一个囚犯想从监狱里逃出来。监狱由顶点 $P_1,P_2,\dots,P_{n+1},P_{n+2},P_{n+3}$ 组成的凸多边形表示。其中 $P_1=(0,0)$,$P_{n+1}=(0, h)$,$P_{n+2}=(-10^{18}, h)$,$P_{n+3}=(-10^{18}, 0)$。

监狱的墙壁 $P_{n+1}P_{n+2}$,$P_{n+2}P_{n+3}$,$P_{n+3}P_1$ 非常高,犯人爬不上去。因此,他唯一的机会是到达 $P_1P_2, P_2P_3,\dots, P_{n}P_{n+1}$ 然后逃离那里。在监狱的四周有两名警卫。囚犯以 $1$ 的速度移动,而警卫则**始终保持在监狱的外围**,速度是 $v$。
如果犯人到达了有守卫的边界,守卫就会杀死犯人。如果犯人到达了边界的某个点,他可以爬上去,且若那里没有警卫,他会立即逃跑。最初,囚犯在点 $(-10^{17}, h/2)$,警卫在点 $P_1$。
找到最小速度 $v$,使得警卫可以保证囚犯不会逃跑(假设囚犯和警卫都以最佳方式移动)。
注:
- 警卫和囚犯随时都能看到对方。
- “逃生”的“攀登部分”不计时间。
- 你可以假设囚犯和警卫都能立即改变方向和速度,而且他们都有完美的反应能力(所以他们可以对另一个人的行为做出即时反应)。
- 这两个警卫可以提前计划如何应对囚犯的行动。
输入格式
输入的第一行包含 $n$($1 \le n \le 50$)。
下面的 $n + 1$ 行描述 $P_1, P_2,\dots, P_{n+1}$。每行包含两个整数 $x_i$, $y_i$ ($0\le x_i, y_i\le 1000$),为 $P_i$ 的坐标。
保证 $P_1 =(0, 0)$ 和 $x_{n + 1} = 0$。由顶点 $P_1,P_2,\dots,P_{n+1},P_{n+2},P_{n+3}$ 组成的多边形(其中 $P_{n+2}$、$P_{n+3}$ 的坐标可以按照题目描述构造)保证为凸多边形,且不存在包含其三个顶点的直线。
输出格式
输出一个数字,最小的速度 $v$,让看守保证囚犯不会逃跑。如果你的答案的相对或绝对误差不超过 $10^{-6}$,你的答案将被认为是正确的。