#577. 最短Hamilton路径

    ID: 577 传统题 1000~4000ms 256MiB 尝试: 31 已通过: 19 普及+/提高 上传者: 标签>数学位运算二进制集合操作动态规划状压 DP

最短Hamilton路径

题目描述

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

Hamilton\texttt{Hamilton} 路径的定义是从 00n1n−1 不重不漏地经过每个点恰好一次。

输入格式

第一行输入整数 nn

接下来 nn 行每行 nn 个整数,其中第 ii 行第 jj 个整数表示点 iijj 的距离(记为 ai,ja_{i,j})。

对于任意的 x,y,zx,y,z,数据保证 ax,x=0a_{x,x}=0ax,y=ay,xa_{x,y} = a_{y,x} 并且 ax,y+ay,zax,za_{x,y}+a_{y,z} \le a_{x,z}

输出格式

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

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

数据范围

1n201 \le n \le 20

0ai,j1070 \le a_{i,j} \le 10^7