給定乙個n個點m條邊的有向圖,圖中可能存在重邊和自環, 邊權可能為負數。
請你求出1號點到n號點的最短距離,如果無法從1號點走到n號點,則輸出impossible。
資料保證不存在負權迴路。
輸入格式
第一行包含整數n和m。
接下來m行每行包含三個整數x,y,z,表示存在一條從點x到點y的有向邊,邊長為z。
輸出格式
輸出乙個整數,表示1號點到n號點的最短距離。
如果路徑不存在,則輸出」impossible」。
資料範圍
1≤n,m≤1051≤n,m≤105,
圖中涉及邊長絕對值均不超過10000。
輸入樣例:
3 3
1 2 5
2 3 -3
1 3 4
輸出樣例:
2
#include
#include
#include
#include
using
namespace std;
const
int n =
100010
;int n, m;
int h[n]
, w[n]
, e[n]
, ne[n]
, idx;
int dist[n]
;bool st[n]
;void
add(
int a,
int b,
int c)
intspfa()
}}}return dist[n];}
intmain()
int t =
spfa()
;if(t ==
0x3f3f3f3f
)puts
("impossible");
else
printf
("%d\n"
, t)
;return0;
}
spfa求最短路
給定乙個n個點m條邊的有向圖,圖中可能存在重邊和自環,邊權可能為負數。請你求出1號點到n號點的最短距離,如果無法從1號點走到n號點,則輸出impossible。資料保證不存在負權迴路。輸入格式 第一行包含整數n和m。接下來m行每行包含三個整數x,y,z,表示點x和點y之間存在一條有向邊,邊長為z。輸...
spfa求最短路
題目鏈結 給定乙個n個點m條邊的有向圖,圖中可能存在重邊和自環,邊權可能為負數。請你求出1號點到n號點的最短距離,如果無法從1號點走到n號點,則輸出impossible。資料保證不存在負權迴路。輸入格式 第一行包含整數n和m。接下來m行每行包含三個整數x,y,z,表示存在一條從點x到點y的有向邊,邊...
模版 SPFA求最短路
題目測試 p4779 模板 單源最短路徑 標準版 寫在前面 如若用spfa判斷是否有負環 則相較於模版增加以下 int cnt maxn intspfa int s return1 使用模版前言 注意頂點數maxn的值 注意極大資料inf的值 include include include incl...