多源最短路和單源最短路

2021-10-19 05:19:29 字數 1464 閱讀 4690

多源最短路

例題:[usaco08open]clear and present danger s

)單源最短路例題:dijkstra求最短路 i

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

請你求出1號點到n號點的最短距離,如果無法從1號點走到n號點,則輸出-1。

輸入格式:

第一行包含整數n和m。

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

輸出格式:

輸出乙個整數,表示1號點到n號點的最短距離。

如果路徑不存在,則輸出-1。

資料範圍

1≤n≤500,

1≤m≤105,

圖中涉及邊長均不超過10000。

輸入樣例:

3 31 2 2

2 3 1

1 3 4

輸出樣例:

3

#include

using

namespace std;

int n,m,dis[

510]

,book[

510]

,a[510][

510]

;const

int inf=

0x3f3f3f3f

;void

djstl()

} book[u]=1

;for

(int j=

1;j<=n;j++)}

}}intmain

(void)}

for(

int i=

1;i<=m;i++

)for

(int i=

1;i<=n;i++

) dis[i]

=a[1

][i]

;djstl()

;if(dis[n]

cout<

;else

cout<

;return0;

}

多源最短路

題目描述 已知n個點 n 100 給你n n的方陣,a i,j 表示從第i個點到第j個點的直接距離。現在有q個詢問,每個詢問兩個正整數,a和b,讓你求a到b之間的最短路程。滿足a i,j a j,i 輸入描述 第一行乙個正整數n,接下來n行每行n個正整數,滿足a i,i 0,再一行乙個q,接下來q行...

多源最短路

題目描述 已知n個點 n 100 給你n n的方陣,a i,j 表示從第i個點到第j個點的直接距離。現在有q個詢問,每個詢問兩個正整數,a和b,讓你求a到b之間的最短路程。滿足a i,j a j,i 輸入描述 第一行乙個正整數n,接下來n行每行n個正整數,滿足a i,i 0,再一行乙個q,接下來q行...

多源最短路

時間限制 1 s 空間限制 128000 kb 題目等級 gold 已知n個點 n 100 給你n n的方陣,a i,j 表示從第i個點到第j個點的直接距離。現在有q個詢問,每個詢問兩個正整數,a和b,讓你求a到b之間的最短路程。滿足a i,j a j,i 第一行乙個正整數n,接下來n行每行n個正整...