#Z2304. 最短Hamilton路径

最短Hamilton路径

问题描述

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

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

输入

第一行输入整数nn

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

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

输出

输出一个整数,表示最短 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

提示

2s, 1024KiB for each test case.

1n201≤n≤20

0a[i,j]1070≤a[i,j]≤10^7