時/空限制:1s / 64mb
給定乙個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≤n^2
1≤m≤20000,
圖中涉及邊長絕對值均不超過10000。
3 3 21 2 1
2 3 2
1 3 1
2 11 3
impossible題意:給你k個查詢,求出x~y的最短距離。1
思路:因為是多源最短路,需要利用floyd最短路演算法。
accepted code:
/*
* @author: lzyws739307453
* @language: c++
*/#include using namespace std;
const int maxn = 205;
const int maxm = maxn * maxn;
const int inf = 0x3f3f3f3f;
int mp[maxn][maxn];
void floyd(int n)
int main()
floyd(n);
while (k--)
return 0;
}
最短路 求最長最短路,求最短路的路徑
hdu 1595 find the longest of the shortest include include include include include include include include include include include include include defi...
spfa求最短路
給定乙個n個點m條邊的有向圖,圖中可能存在重邊和自環,邊權可能為負數。請你求出1號點到n號點的最短距離,如果無法從1號點走到n號點,則輸出impossible。資料保證不存在負權迴路。輸入格式 第一行包含整數n和m。接下來m行每行包含三個整數x,y,z,表示點x和點y之間存在一條有向邊,邊長為z。輸...
Dijkstra求最短路
題目鏈結 給定乙個n個點m條邊的有向圖,圖中可能存在重邊和自環,所有邊權均為正值。請你求出1號點到n號點的最短距離,如果無法從1號點走到n號點,則輸出 1。輸入格式 第一行包含整數n和m。接下來m行每行包含三個整數x,y,z,表示存在一條從點x到點y的有向邊,邊長為z。輸出格式 輸出乙個整數,表示1...