問題描述
給定乙個n個頂點,m條邊的有向圖(其中某些邊權可能為負,但保證沒有負環)。請你計算從1號點到其他點的最短路(頂點從1到n編號)。
輸入格式
第一行兩個整數n, m。
接下來的m行,每行有三個整數u, v, l,表示u到v有一條長度為l的邊。
輸出格式
共n-1行,第i行表示1號點到i+1號點的最短路。
樣例輸入
3 31 2 -1
2 3 -1
3 1 2
樣例輸出
-1-2
資料規模與約定
對於10%的資料,n = 2,m = 2。
對於30%的資料,n <= 5,m <= 10。
對於100%的資料,1 <= n <= 20000,1 <= m <= 200000,-10000 <= l <= 10000,保證從任意頂點都能到達其他所有頂點。
分析有向圖中有負權邊,所以可以採用spfa+鄰接表。
#include#include#include#includeusing namespace std;
#define n 20000 + 10
#define inf 0x3f3f3f3f
struct node ;
vectora[n];//用向量來代替鍊錶
int dist[n],visited[n];
void spfa(int s)
}} }
}int main()
spfa(1);
for(int i = 2; i <= n; i++)
cout << dist[i] << endl;
return 0;
}
藍橋杯 最短路
問題描述 給定乙個n個頂點,m條邊的有向圖 其中某些邊權可能為負,但保證沒有負環 請你計算從1號點到其他點的最短路 頂點從1到n編號 解題思路 求最短路的方法有dijkstra,floyd,spfa,本題結點達到20000,邊數200000,對於n 2和n 3的演算法肯定要超時,所以直接選用spfa...
藍橋杯 最短路
演算法訓練 最短路 問題描述 給定乙個n個頂點,m條邊的有向圖 其中某些邊權可能為負,但保證沒有負環 請你計算從1號點到其他點的最短路 頂點從1到n編號 輸入格式 第一行兩個整數n,m。接下來的m行,每行有三個整數u,v,l,表示u到v有一條長度為l的邊。輸出格式 共n 1行,第i行表示1號點到i ...
藍橋杯 最短路
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!問題描述 給定乙個n個頂點,m條邊的有向圖 其中某些邊權可能為負,但保證沒有負環 請你計算從1號點到其他點的最短路 頂點從1到n編號 輸入格式 第一行兩個整數n,m。接下來的m行,每行有三個整數u,v,l,表示u到v有一條長度為l的邊。輸出格式 共...