題目鏈結
給定乙個n個點m條邊的有向圖,圖中可能存在重邊和自環, 邊權可能為負數。
請你求出從1號點到n號點的最多經過k條邊的最短距離,如果無法從1號點走到n號點,輸出impossible。
注意:圖中可能 存在負權迴路 。
輸入格式
第一行包含三個整數n,m,k。
接下來m行,每行包含三個整數x,y,z,表示存在一條從點x到點y的有向邊,邊長為z。
輸出格式
輸出乙個整數,表示從1號點到n號點的最多經過k條邊的最短距離。
如果不存在滿足條件的路徑,則輸出「impossible」。
資料範圍
1≤n,k≤500,
1≤m≤10000,
任意邊長的絕對值不超過10000。
輸入樣例:
3 3 1
1 2 1
2 3 1
1 3 3
輸出樣例:
3
#include
#include
#include
using namespace std;
const
int n=
510,m=
1e4+
10,inf=
0x3f3f3f3f
;struct edgeedges[m]
;int n,m,k;
int dist[n]
,last[n]
;void
bellman_ford()
}}intmain()
;}bellman_ford()
;if(dist[n]
>inf/2)
puts
("impossible");
else cout<
}
bellman ford 有邊數限制的最短路
給定乙個n個點m條邊的有向圖,圖中可能存在重邊和自環,邊權可能為負數。請你求出從1號點到n號點的最多經過k條邊的最短距離,如果無法從1號點走到n號點,輸出impossible。給定乙個n個點m條邊的有向圖,圖中可能存在重邊和自環,邊權可能為負數。請你求出從1號點到n號點的最多經過k條邊的最短距離,如...
bellman ford 有邊數限制的最短路
題目入口 題意 給定乙個n個點m條邊的有向圖,圖中可能存在重邊和自環,邊權可能為負數。請你求出從1號點到n號點的最多經過k條邊的最短距離,如果無法從1號點走到n號點,輸出impossible。注意 圖中可能存在負權迴路。輸入格式 第一行包含三個整數n,m,k。接下來m行,每行包含三個整數x,y,z,...
Bellman ford 有邊數限制的最短路
給定乙個n個點m條邊的有向圖,圖中可能存在重邊和自環,邊權可能為負數。請你求出從1號點到n號點的最多經過k條邊的最短距離,如果無法從1號點走到n號點,輸出impossible。注意 圖中可能 存在負權迴路 include using namespace std const int n 505,m 1...