時間限制:4 sec
空間限制:256 mb
給定一張 n 個點的無向帶權圖,節點的編號從 1 至 n,求從 s 到 t 的最短路徑長度。
第一行 4 個數 n,m,s, t,分別表示點數、邊數、起點、終點。
接下來 m 行,每行 3 個正整數 u,v,w,描述一條 u 到 v 的雙向邊,邊權為 w。
保證 1<=u,v<=n。
輸出一行乙個整數,表示 s 到 t 的最短路。
7 11 5 4
2 4 2
1 4 3
7 2 2
3 4 3
5 7 5
7 3 3
6 1 1
6 3 4
2 4 3
5 6 3
7 2 1
7
本題共設定 12 個測試點。
對於前 10 個測試點,保證 n<=2500,m<=6200,對於每條邊有 w<=1000。這部分資料有梯度。
對於所有的 12 個測試點,保證 n<=100,000,m<=250,000。
[本題是 dijkstra 演算法的模板練習題。]
[使用樸素的 dijkstra 演算法可以通過前 10 個測試點。]
[使用堆或__std::priority_queue__優化的 dijkstra 演算法可以通過所有測試點。]
另外,為了幫助大家完成題目,我們提供了只包含了輸入輸出功能的程式模板,也提供了含有演算法的大部分實現細節的程式。
你可以根據自己的實際情況,在這些程式的基礎上進行作答,或不參考這些程式,這將與你的得分無關。
這些程式可以從【這裡
第二週下 最短路
e題 candies poj 3159 n個人,m條規則 b比a多c個糖,問n比1多幾個 不知道為什麼佇列過不去,include include include include include using namespace std define n 30005 int dis n book n c...
二維最短路
三元組用map int,int set 儲存 可以通過前繼pre和當前節點u找到下乙個v,使得 pre,u,v 在三元組中的節點 include include include include include include include include include define mem a,...
Fishmonger SPOJ 二維最短路
乙個圖中,對於每一條邊有兩個權值 路費和時間,我們要找一條從源點出發到終點的路,在這條路的時間不超過給定時間的基礎上,找到路費最少的路。如果按照普通的最短路,會因為有乙個時間的限制而找不到正確的解。找不到正確的解的原因就是對於每個點只能存乙個時間,然而我們可能在多個不同時間到達乙個點,不一定哪個時間...