SZTG-L-P2865. [USACO06NOV] 路障(Roadblocks G)

提交1 通过1
通过率100%
时间限制1000ms
内存限制512MiB

题目描述

题目描述

贝茜搬到了一个小农场,有时会回去探望她的一位好朋友。她喜欢沿途的风景,不想太快到达,于是决定选择一条次短路径,而不是最短路径。她知道一定存在这样的次短路径。

乡间共有 NN 个路口,编号为 1∼N1\sim N,以及 RR 条双向道路。每条道路连接两个路口。贝茜从路口 11 出发,她的朋友在路口 NN。

次短路径可以与最短路径共用道路,也允许折返,即同一条道路或同一个路口可以经过多次。

这里的次短路径,是指在所有长度严格大于最短路径长度的路径中,长度最小的一条。如果有多条长度相同的最短路径,它们仍然都属于最短路径,不能把其中一条当成次短路径。

请计算从路口 11 到路口 NN 的次短路径长度。

输入格式

第一行两个整数 N,RN,R。

接下来 RR 行,每行三个整数 A,B,DA,B,D,表示路口 AA 与路口 BB 之间有一条长度为 DD 的双向道路。

输出格式

输出一个整数,表示从路口 11 到路口 NN 的次短路径长度。

4 4
1 2 100
2 4 200
2 3 250
3 4 100
450
4 4
1 2 100
2 4 200
2 3 250
3 4 100
450
4 4
1 2 100
2 4 200
2 3 250
3 4 100
450

说明/提示

样例中,路线 1→2→41\to2\to4 的长度为 100+200=300100+200=300;路线 1→2→3→41\to2\to3\to4 的长度为 100+250+100=450100+250+100=450。次短路径长度为 450450。

数据范围

满足 1≤N≤50001\le N\le5000,1≤R≤1000001\le R\le100000。

1≤D≤50001\le D\le5000。