E. 路线规划

内存限制:256 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较

题目描述

某公司有M个园区,从0到M-1编号,已知2个园区的距离,描述如下:0 1 3,表示从0号园区到1号园区的距离是3(1到0号园区也是3),已知N段距离,未给出距离的则为不可达,现在有一个员工想从A区出发,走遍所有的园区,同一园区只能够经过一次,请计算该员工的最短距离。

输入格式

第一行:园区个数M,起始园区编号,已知距离个数N

第二行到N行:第一个数字为起始园区,第二个数字为目的园区,第三个数字为距离,中间使用空格区分。

输出格式

最短距离,如无法完成题目条件,则输出-1

样例

输入1

4 0 4
0 1 1
1 2 1
2 3 1
1 3 2

输出1

3

解释:

从园区0经过园区1,再从园区1到园区2,最后到达园区3,最短距离3

输入2

4 0 4
0 1 1
0 2 1
0 3 1
1 2 1

输出2

-1

解释:无法从0到3,输出-1

数据范围与提示

0<M<=15,0<N<=45

所有输入数据>=0,距离输入都为有效范围,不用考虑无效输入。距离范围为:[1,1000]

每个园区路径不超过3条