#54. 最短哈密顿路径

最短哈密顿路径

问题描述

给定一张 nn 个结点带权无向图,点从 0n10 \sim n - 1 标号,求从起点 00 出发,经过每一个点有且只有一次后再回到起点的最短路。

输入格式

第一行输入整数 nn(1n20)(1\le n\le 20)

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

数据保证当 i=ii=iai,i=0a_{i,i}=0,但可能 ai,jaj,ia_{i,j}\ne a_{j,i}

输出格式

输出从起点 00 出发,经过每一个点有且只有一次后再回到起点的最短路。

样例输入

3
0 2 3
2 0 4
3 3 0

样例输出

8

说明

[1,3,2,1][1,3,2,1] 是路程最短的顺序。