#10. 最短路徑

困難

時間限制 2000 ms ・ 記憶體限制 256 MB

題目描述

給你一張 NN 個節點、MM 條邊的無向帶權圖(可能有重邊與自環),求從節點 11 到節點 NN 的最短路徑長度。

輸入格式

第一行兩個整數 N,MN, M1N2×1041 \le N \le 2 \times 10^40M5×1040 \le M \le 5 \times 10^4)。 接下來 MM 行,每行三個整數 u,v,wu, v, w,表示 uuvv 之間有一條長度 ww 的邊(1u,vN1 \le u, v \le N1w1091 \le w \le 10^9)。

輸出格式

一行一個整數:節點 11 到節點 NN 的最短距離;若無法到達,輸出 -1

提示:邊權很大,距離可能超過 32 位元整數範圍;請使用 Dijkstra 搭配優先佇列。

範例測資

範例輸入 1

4 4
1 2 5
2 4 4
1 3 2
3 4 9

範例輸出 1

9

範例輸入 2

2 1
1 2 7

範例輸出 2

7
請先登入後再提交程式碼