#89. spfa求最短路

spfa求最短路

问题描述

spfa 算法是求负权最短路的算法,虽然最坏情况下时间复杂度为 O(nm)O(nm),但一般情况下时间复杂度是为 O(m)O(m),本题数据均为随机数据。

给定一张 nn 个点 mm 条边的有向图,该图可以有自环与重边。

你需要输出 11 号点到 nn 号点的最短路,若不存在此最短路,输出 impossible

本题数据保证不存在负权回路(负环)。

输入格式

第一行输入二个正整数 n,mn,m

接下来 mm 行,每行输入 33 个正整数 a,b,ca,b,c。表示点 aa 到点 bb 存在一条有向边,权值为 cc

$2\le n\le 10^5,1\le m\le 2\times 10^5,1\le a,b\le n,-10^4\le c\le 10^4$。

输出格式

输出 11 号点到 nn 号点的最短路,若不存在此最短路,输出 impossible

样例输入

5 7
1 4 -3
4 2 -7
3 5 -8
1 3 -2
5 1 14
4 5 10
2 5 -3

样例输出

-13

说明

图片描述

[1,4,2,5][1,4,2,5] 是最佳答案。