数据结构与算法专题题库

1027. 旅行商问题

单点时限: 3.0 sec

内存限制: 512 MB

一个售货员必须访问n个城市,恰好访问每个城市一次,并最终回到出发城市。

售货员从城市i到城市j的旅行费用是一个整数,旅行所需的全部费用是他旅行经过的的各边费用之和,而售货员希望使整个旅行费用最低。

(等价于求图的最短哈密尔顿回路问题)令G=(V,E)是一个带权重的有向图,顶点集V=(v0,v1,,vn1)。从图中任一顶点vi出发,经图中所有其他顶点一次且只有一次,最后回到同一顶点vi的最短路径。

输入格式

第一行两个数nm,表示顶点数和边数,其中1n12,0m1000

接下来m行,每行三个数u,v,c,表示有向边uv,路径长度为cc105

图中可能有重边和自环。

输出格式

一个数如果不存在哈密顿环路,则输出-1,否则输出最短哈密尔顿回路长度。

样例

Input
4 12
1 2 1
1 3 10
1 4 10
2 1 10
2 3 1
2 4 10
3 1 10
3 2 10
3 4 1
4 1 1
4 2 10
4 3 10
Output
4

提示

默认ii的路径长度为0

不限期开放

题目列表