输入文件的第一行有两个正整数n,表示多边形的边数。接下来n行,每行有两个整数x、y,依次描述多边形的顶点的坐标。
输入文件保证:这些点坐标的绝对值都不超过100。
游戏开始之前,大草坪上画上了一个简单多边形(边界不自交,但既可能是凸的也可能是凹的)。
同一队的两人可以自由的在多边形上选一点一同出发,但出发时他们是背对背的。整个游戏的过程中两人可以沿着多边形的边界向前走或者向后退,如果他们两人能够最终面对面地相遇,那么他们就胜利了。整个游戏过程中,反转方向是不允许的[1]。如图 5中所示,只要系在两人身上的绳子的长度不少于W,那么两人就可以沿箭头方向朝前走,并最终胜利。
显然,系在队友身上的绳子越短,想要获胜的难度越高。所以,你现在的任务就是根据草坪上画的多边形的形状计算出:能够完成游戏并胜利的最短的绳子的长度。
[1] 对于每一个简单多边形而言,都有两种方式可以沿着其边缘环绕一周,这两种环绕方式的方向是相反的,我们称其中一种为正方向,另一种为负方向。例如,就一个凸多边形而言,有顺时针和逆时针两种方向相反的环绕方法。这里所说的“反转方向是不允许的”是指:在整个游戏的过程中,作为队友的AB两人,A必须始终面朝着正方向,B必须始终朝着负方向,但AB两人在任意时刻都可以前进或者后退,或者其中一人前进另一人后退。
输入文件的第一行有两个正整数n,表示多边形的边数。接下来n行,每行有两个整数x、y,依次描述多边形的顶点的坐标。
输入文件保证:这些点坐标的绝对值都不超过100。
输出文件只有一行,这行只有一个实数,即为能够完成游戏的最短的绳子的长度,保留3位小数。
4
1 1
1 3
9 3
9 1
2.000
1<=N<=100