P6929 [ICPC 2017 WF] Airport Construction

题目描述

热带岛国 Piconesia 以其美丽的海滩、郁郁葱葱的植被、可可和咖啡种植园以及全年宜人的天气而闻名。这个天堂般的地方正被考虑作为 ACM 国际大学生程序设计竞赛(ICPC)世界总决赛的未来举办地(或者至少是执行委员会的度假胜地)。只有一个小问题:这个岛屿真的很难到达。 目前,最快到达该岛的方法需要从最近的机场出发,历时三天,并结合使用渔船、油轮、皮划艇和潜艇。为了使参加 ICPC 世界总决赛稍微容易一些,并启动该岛的旅游业务,Piconesia 计划建造其第一个机场。 由于较长的跑道可以容纳更大的飞机,Piconesia 决定在他们的岛上建造尽可能长的跑道。不幸的是,他们无法确定这条跑道应该建在哪里。也许你可以帮忙? 对于这个问题,我们将 Piconesia 的边界建模为一个多边形。给定这个多边形,你需要计算可以在岛上建造的最长跑道(即直线段)的长度。跑道不得与海相交,但可以接触或沿着岛的边界。图 A.1 显示了与第一个样例输入对应的示例。 ![](https://onlinejudgeimages.s3-ap-northeast-1.amazonaws.com/problem/14633/1.png) 图 A.1:将岛屿建模为多边形。最长的可能跑道显示为粗线。

输入格式

输入以一行整数 $n (3 \le n \le 200)$ 开始,指定多边形的顶点数。接下来是 $n$ 行,每行包含两个整数 $x$ 和 $y (|x|, |y| \le 10^{6})$,给出多边形顶点的坐标 $(x , y)$,按逆时针顺序排列。该多边形是简单的,即其顶点是不同的,并且多边形的两条边不相交或接触,除了相邻边在其公共顶点处接触。此外,没有两条相邻的边是共线的。

输出格式

显示适合在多边形内的最长直线段的长度,绝对误差或相对误差不超过 $10^{-6}$。

说明/提示

时间限制:2 秒,内存限制:512 MB。 题面翻译由 ChatGPT-4o 提供。