最短路(資訊學奧賽一本通 T1382)

2021-10-19 09:13:03 字數 1139 閱讀 6702

題目描述

給定 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 輸出...