題目描述
給定 m 條邊, n 個點的帶權無向圖,求 1到 n 的最短路。
注意圖中可能有重邊和自環,資料保證 1 到 n 有路徑相連。
輸入格式
第一行:n,m;
接下來 m 行 3 個正整數:ai, bi, ci 表示 ai, bi 之間有一條長度為 ci 的路;
輸出格式
乙個整數,表示 1 到 n 的最短距離。
輸入樣例
4 41 2 1
2 3 1
3 4 1
2 4 1
輸出樣例
2資料範圍
n ≤ 105,m ≤ 5 × 105,ci ≤ 1000
題解
spfa && 鏈式前向星:
注意事項
:
輸入規模達到了 105 級別,因此要用scanf
讀入;
由於是無向圖,所以要建兩條有向邊,因此邊的範圍要開到1e6 + 10
;
#include
#include
#include
using
namespace std;
const
int n =
1e5+
10, m =
1e6+10;
int n, m;
bool st[n]
;int dist[n]
;int h[n]
, e[m]
, w[m]
, ne[m]
, idx;
void
add(
int a,
int b,
int c)
void
spfa()
}}}}
intmain()
spfa()
;printf
("%d"
, dist[n]);
return0;
}
最短路徑(資訊學奧賽一本通 T1378)
題目描述 給出乙個有向圖 g v,e 和乙個源點 v0 v,請寫乙個程式輸出 v0 和圖 g 中其它頂點的最短路徑。只要所有的有向環權值和都是正的,我們就允許圖的邊有負值,頂點的標號從 1 到 n n 為圖 g 的頂點數 輸入格式 第 1 行 乙個正數 n,表示圖 g 的頂點總數。第 2 行 乙個整...
計算(資訊學奧賽一本通 T1356)
題目描述 小明在你的幫助下,破密了ferrari設的密碼門,正要往前走,突然又出現了乙個密碼門,門上有乙個算式,其中只有 0 9,求出的值就是密碼。小明數學學得不好,還需你幫他的忙。用整數除法 輸入格式 共 1 行,為乙個算式。輸出格式 共 1 行,就是密碼。輸入樣例 1 3 2 7 2 69 2 ...
均值(資訊學奧賽一本通 T1060)
題目描述 給出一組樣本資料,包含n個浮點數,計算其均值,精確到小數點後4位。輸入 輸入有兩行,第一行包含乙個整數n n小於100 代表樣本容量 第二行包含n個絕對值不超過1000的浮點數,代表各個樣本資料。輸出 輸出一行,包含乙個浮點數,表示均值,精確到小數點後4位。輸入樣例 21.0 3.0 輸出...