安徽科技工程大学程序设计在线考试系统Ver3.0

诚信考试,杜绝作弊!

1350: 算法实现题 3-15 双调旅行售货员问题(习题 3-23)

内存限制:512 MB 时间限制:1 S 标准输入输出
题目类型:传统 评测方式:文本比较

题目描述

欧氏旅行售货员问题是对给定的平面上 n 个点确定一条连接这 n 个点的长度最短的哈密顿回路。由于欧氏距离满足三角不等式,所以欧氏旅行售货员问题是一个特殊的具有三角不等式性质的旅行售货员问题。它仍是一个 NP 完全问题。最短双调 TSP 回路是欧氏旅行售货员问题的特殊情况。平面上 n 个点的双调 TSP 回路是从最左点开始,严格地由左至右直到最右点,然后严格地由右至左直至最左点,且连接每一个点恰好一次的一条闭合回路。
算法设计:

给定平面上 n 个点,计算这 n 个点的最短双调 TSP 回路。

输入格式

输入第 1 行有 1 个正整数 n,表示给定的平面上的点数。接下来的 n 行中,每行 2 个实数,分别表示点的 x 坐标和 y 坐标。

输出格式

将计算的最短双调 TSP 回路的长度(保留 2 位小数)输出

输入样例 复制

7
0 6
1 0
2 3
5 4
6 1
7 5
8 2

输出样例 复制

25.58
1 3 4 6 7 5 2 1