854 Floyd求最短路(不能有負權迴路)

2021-09-29 17:46:42 字數 919 閱讀 2558

給定乙個n個點m條邊的有向圖,圖中可能存在重邊和自環,邊權可能為負數。

再給定k個詢問,每個詢問包含兩個整數x和y,表示查詢從點x到點y的最短距離,如果路徑不存在,則輸出「impossible」。

資料保證圖中不存在負權迴路。

輸入格式

第一行包含三個整數n,m,k

接下來m行,每行包含三個整數x,y,z,表示存在一條從點x到點y的有向邊,邊長為z。

接下來k行,每行包含兩個整數x,y,表示詢問點x到點y的最短距離。

輸出格式

共k行,每行輸出乙個整數,表示詢問的結果,若詢問兩點間不存在路徑,則輸出「impossible」。

資料範圍

1≤n≤200

,1≤k≤n2

1≤m≤20000

,圖中涉及邊長絕對值均不超過10000。

輸入樣例:

3 3 2

1 2 1

2 3 2

1 3 1

2 11 3

輸出樣例:

impossible

1

#include

#include

#include

#include

using

namespace std;

const

int inf =

1e9;

int g[

205]

[205];

//來存各個點的最短路

int n, m, k;

void

floyd()

}}}int

main()

}while

(m--

)floyd()

;while

(k--

)return0;

}

AcWing 854 Floyd求最短路

題目描述 給定乙個n個點m條邊的有向圖,圖中可能存在重邊和自環,邊權可能為負數。再給定k個詢問,每個詢問包含兩個整數x和y,表示查詢從點x到點y的最短距離,如果路徑不存在,則輸出 impossible 資料保證圖中不存在負權迴路。輸入格式 第一行包含三個整數n,m,k 接下來m行,每行包含三個整數x...

AcWing 854 Floyd求最短路

目錄演算法求解 參考文章 題目傳送門 給定乙個 nn 個點 mm 條邊的有向圖,圖中可能存在重邊和自環,邊權可能為負數。再給定 kk 個詢問,每個詢問包含兩個整數 xx 和 yy,表示查詢從點 xx 到點 yy 的最短距離,如果路徑不存在,則輸出impossible。資料保證圖中不存在負權迴路。輸入...

Floyd求最短路

傳送門 題意 給定乙個n個點m條邊的有向圖,圖中可能存在重邊和自環,邊權可能為負數。再給定k個詢問,每個詢問包含兩個整數x和y,表示查詢從點x到點y的最短距離,如果路徑不存在,則輸出 impossible 資料保證圖中不存在負權迴路。輸入格式 第一行包含三個整數n,m,k 接下來m行,每行包含三個整...