#P3525. Most Distant Point from the Sea

Most Distant Point from the Sea

题目描述

日本本土称为本州,是一个被海洋包围的岛屿。在这样的岛屿上,自然会产生一个问题:“距离海洋最远的点在哪里?”这个问题对于本州的答案是在1996年找到的。最远点位于长野县前须坂町,其距离海洋的距离为$114.86$公里。

在本题中,给定一个岛屿的地图,你需要编写程序找出该岛屿中距离海洋最远的点,并报告该点距离海洋的距离。为了简化问题,我们只考虑能够用凸多边形表示的地图。


输入

输入包含多组数据。每组数据表示一个岛屿的地图,即一个凸多边形。数据格式如下:

$$n \\ x_1 \quad y_1 \\ x_2 \quad y_2 \\ \vdots \\ x_n \quad y_n $$

每个输入项都是非负整数。每行两个输入项之间用空格分隔。

  • 第一行的$n$表示多边形的顶点数,满足$3 \leq n \leq 100$。
  • 接下来的$n$行,每行包含顶点的$x$和$y$坐标。
  • 多边形的边由线段$(x_i, y_i)$到$(x_{i+1}, y_{i+1})$构成($1 \leq i \leq n-1$),以及线段$(x_n, y_n)$到$(x_1, y_1)$组成。
  • 多边形的顶点按逆时针顺序给出,即每条边都使多边形内部位于其方向的左侧。
  • 所有坐标值在$0$到$10000$之间(包含端点)。
  • 可以保证多边形是简单多边形,即边界不自交也不相切。
  • 题目保证多边形始终是凸多边形。

输入的最后一组数据之后会有一个单独的$0$,表示输入结束。


输出

对于每组数据,输出一行,表示该岛屿中距离海洋最远点的距离。

输出结果允许的误差不超过$10^{-5}$。输出可以有任意位数的小数,只要满足精度要求即可。


输入样例

4
0 0
10000 0
10000 10000
0 10000
3
0 0
10000 0
7000 1000
6
0 40
100 20
250 40
250 70
100 90
0 70
3
0 0
10000 10000
5000 5001
0

输出样例

5000.000000
494.233641
34.542948
0.353553

题目来源

Japan 2007