如題,給出乙個有向圖,請輸出從某一點出發到所有點的最短路徑長度。
輸入格式:
第一行包含三個整數n、m、s,分別表示點的個數、有向邊的個數、出發點的編號。
接下來m行每行包含三個整數fi、gi、wi,分別表示第i條有向邊的出發點、目標點和長度。
輸出格式:
一行,包含n個用空格分隔的整數,其中第i個整數表示從點s出發到點i的最短路徑長度(若s=i則最短路徑長度為0,若從點s無法到達點i,則最短路徑長度為2147483647)
輸入樣例#1:複製
4 6 1輸出樣例#1:複製1 2 2
2 3 2
2 4 1
1 3 5
3 4 3
1 4 4
0 2 4 3時空限制:1000ms,128m
資料規模:
對於20%的資料:n<=5,m<=15
對於40%的資料:n<=100,m<=10000
對於70%的資料:n<=1000,m<=100000
對於100%的資料:n<=10000,m<=500000
樣例說明:
1到3和1到4的文字位置調換
**:
#include #include #include #include #include #include #include #include #define inf 2147483647
#define ll long long
using namespace std;
const int maxn=500005;
ll dis[10005];
int u[maxn],v[maxn],w[maxn];
int main()
dis[s]=0;
for(int i=1;i<=m;i++)
for(k=1;k<=n-1;k++)
}if(!flag) break;
}for(int i=1;i
printf("%d\n",dis[n]);
return 0;
}
Bellman Ford演算法模板題
poj 3259 蟲洞 bellman ford判斷有無負環的問題 描述 在探索他的許多農場時,farmer john發現了許多令人驚嘆的蟲洞。蟲洞是非常奇特的,因為它是一條單向路徑,在您進入蟲洞之前的某個時間將您帶到目的地!每個fj的農場包括 1 500 字段方便地編號為1 中號 1 中號 250...
Bellman Ford演算法,SPFA演算法
bellman ford 演算法能在更普遍的情況下 存在負權邊 解決單源點最短路徑問題。對於給定的帶權 有向或無向 圖g v,e 其源點為 s,加權函式w是 邊集e 的對映。對圖g執行 bellman ford 演算法的結果是乙個布林值,表明圖中是否存在著乙個從源點s 可達的負權迴路。若不存在這樣的...
Bellman ford 演算法詳解
昨天說的dijkstra固然很好用,但是卻解決不了負權邊,想要解決這個問題,就要用到bellman ford.我個人認為bellman ford比dijkstra要好理解一些,還是先上資料 有向圖 5 712 8135 23 6 5 4 324 735 2 45 3 在講述開,先設幾個陣列 orig...