题号:NC222052
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld
题目描述
小 H 有一只小猫,这只小猫在原点 (0,0) 的位置。我们将 x 轴和 y 轴的正半轴看作两面墙,原点 (0,0) 的位置看作墙角。现在,在第一象限、x 轴和 y 轴的正半轴上有 n 个木桩,这些木桩看作没有任何大小的点,小 H 可以用篱笆将这些木桩两两相连。
请你求出小 H 能否用篱笆将小猫围在墙角。如果可以,请输出小 H 在保证能够围住小猫的情况下所需要花费的最短篱笆总长,并将答案保留小数点后 10 位,否则输出 "Poor Little H!"。
围在墙角的定义:即这些篱笆与坐标轴构成了一个多边形。
输入描述:
第一行一个数 n。
接下来 n 行,第 i 行表示第 i 个木桩的坐标

。
输出描述:
共一行,一个 10 位小数或者是输出 “Poor Little H!”,若为 10 位小数即为要求的最短篱笆长度。
示例1
输入
复制
3
0.0 1.0
1.0 0.0
1.0 1.0
说明
连接 AC,CB 和 连接 AB 均为可行的方案,但是后者的长度比前者要少,故输出

。
示例2
说明
数据范围:
对于 20% 的数据,

。
对于 40% 的数据,

。
对于 50% 的数据,

。
对于另外 10% 的数据,所有木桩均在 x 轴 和 y 轴上。
对于另外 10% 的数据,x 轴和 y 轴上均只有 1 根木桩。
对于 100% 的数据,

,且不存在有木桩的坐标为 (0,0)。
备注: