英文题面:
http://noi.openjudge.cn/ch0405/5890/
翻译:
John Doe是一名熟练的飞行员,喜欢旅行。在度假时,他租了一架小飞机,开始参观美丽的地方。为了省钱,约翰必须确定连接目的地的最短封闭之旅。每个目的地由平面 pi = < xi,yi >中的一个点表示。约翰使用以下策略:他从最左边的点开始,然后他严格地从左到右到最右边的点,然后他严格地回到起点。众所周知,这些点具有不同的 x 坐标。
编写一个程序,给定平面中的一组n个点,根据John的策略计算连接点的最短闭合游览。
输入:
程序输入来自文本文件。文件中的每个数据集都代表一组特定的点。对于每组点,数据集包含点数,以及点坐标(按 x 坐标的升序排列)。空白可以在输入中自由出现。输入数据正确。每个数据集的点数最多为 50 个,每个坐标的绝对值不超过 20000。
输出
对于每组数据,程序应将结果从行首打印到标准输出。游览长度(带有两个小数的浮点数)表示结果。输入/输出示例如下表所示。这里有两个数据集。第一个包含由其 x 和 y 坐标指定的 3 个点。例如,第二个点的 x 坐标为 2,y 坐标为 3。每个数据集的结果是游览长度(给定示例中的第一个数据集为 6.47)。
样例输入
3
1 1
2 3
3 1
4
1 1
2 3
3 1
4 2
样例输出
6.47
7.89