#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