藍橋杯 最短路

2021-08-31 12:00:06 字數 1270 閱讀 9344

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!

問題描述

給定乙個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

#include

using

namespace

std;const

int inf = 1

<<30;const

int l = 200000;struct

edges e[l<<2];int head[l];int dis[l];int vis[l];int cnt[l];void

addedge

(int x,int y,int w,int k)

intrelax

(int u,int v,int c)

return

0;}int

spfa

(int src)

}    }}int

main

()    for(i = 0; iint x,y,w;        scanf("%d%d%d",&x,&y,&w);        addedge(x,y,w,i);    }    spfa(1);    for(i = 2; i<=n; i++)        printf("%d\n",dis[i]);    return

0;}

給我老師的人工智慧教程打call!

藍橋杯 最短路

問題描述 給定乙個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的邊。輸出格式 共n 1行,第i行表示1號點到i 1號點的最短路。樣例...