#AcWing91. 最短Hamilton路径

    ID: 1489 Type: Default 1000ms 256MiB Tried: 1 Accepted: 0 Difficulty: 10 Uploaded By: Tags>动态规划状态压缩DP其他二进制

最短Hamilton路径

No testdata at current.

给定一张 n� 个点的带权无向图,点从 0n10∼�−1 标号,求起点 00 到终点 n1�−1 的最短 Hamilton 路径。

Hamilton 路径的定义是从 00 到 n1�−1 不重不漏地经过每个点恰好一次。

输入格式

第一行输入整数 n�。

接下来 n� 行每行 n� 个整数,其中第 i� 行第 j� 个整数表示点 i� 到 j� 的距离(记为 a[i,j]�[�,�])。

对于任意的 x,y,z�,�,�,数据保证 a[x,x]=0,a[x,y]=a[y,x]�[�,�]=0,�[�,�]=�[�,�] 并且 a[x,y]+a[y,z]a[x,z]�[�,�]+�[�,�]≥�[�,�]。

输出格式

输出一个整数,表示最短 Hamilton 路径的长度。

数据范围

1n201≤�≤20 0**≤a[i,j]**≤1070≤�[�,�]≤107

输入样例:

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

输出样例:

18