考虑一个具有 $N$ 个顶点的凸多边形。我们希望找到最大的半径 $R$,使得两个半径为 $R$ 的圆可以完全放置在多边形内部且互不重叠。
输入格式
输入的第一行包含一个整数 $N$。接下来的 $N$ 行,每行包含一对整数 $x_i, y_i$,表示第 $i$ 个点的坐标,中间用空格分隔。
输出格式
输出一个实数 $R$,即所求的半径。输出 $R$ 时保留 3 位小数。如果你的输出与正确答案的误差不超过 $0.001$,则该测试点通过。
数据范围
- $3 \le N \le 50000$
- $-10^7 \le x_i \le 10^7$
- $-10^7 \le y_i \le 10^7$
- 点按三角函数(逆时针)顺序给出。
- $10\%$ 的测试数据满足 $N = 3$。
- $40\%$ 的测试数据满足 $N \le 250$。
样例
样例输入 1
4 0 0 1 0 1 1 0 1
样例输出 1
0.293
说明 1
当两个圆的圆心放置在正方形的一条对角线上时,可以获得最大半径。该半径可以精确计算,结果为: $$\frac{\sqrt{2}}{2 * (1 + \sqrt{2})} \approx 0.293$$
样例输入 2
4 0 0 3 0 3 1 0 1
样例输出 2
0.500
样例输入 3
6 0 0 8 0 8 6 4 8 2 8 0 4
样例输出 3
2.189
Figure 1. 两个圆在正方形内部的放置示意图