P3371 模板 單源最短路徑(弱化版)

2021-10-01 02:20:27 字數 1123 閱讀 8474

使用模版注意事項

注意頂點數maxn的值

注意極大資料inf的值

此題inf = 2147483647

//使用模版前言

//注意頂點數maxn的值 注意極大資料inf的值

#include

#include

#include

#include

#include

#include

#include

#define maxn 300010

//最大頂點數

#define inf 2147483647

//極大資料

using namespace std;

typedef pair<

int,

int> info;

//存放當前點及從源點到當前點的最短路徑的資訊

priority_queue

, greater

> q;

//優先佇列實現將已確定最短路徑的點放入佇列 小頂堆實現堆優化

struct edge

//弧的初始化};

vector g[maxn]

;//存放當前點出發的每一條弧的資訊

int n, m, s;

//點 弧 源點

int dis[maxn]

;//從源點到當前點的最短路徑(迪傑斯特拉跑完之前不一定是最終解)

int vis[maxn]

;//該陣列用於標記當前點是否已訪問過 起到優化作用

void

dijkstra

(int s)}}

}int

main()

dijkstra

(s);

//演算法實施

for(

int i =

1; i < n; i++

)printf

("%d "

, dis[i]);

printf

("%d\n"

, dis[n]);

//規範輸出無多餘空格

//輸出從源點到其他所有點的最短路徑

return0;

}

P3371 模板 單源最短路徑(弱化版)

題目 p3371 模板 單源最短路徑 弱化版 本題測試資料為隨機資料,在考試中可能會出現構造資料讓spfa不通過,如有需要請移步 p4779。如題,給出乙個有向圖,請輸出從某一點出發到所有點的最短路徑長度。輸入格式 第一行包含三個整數n m s,分別表示點的個數 有向邊的個數 出發點的編號。接下來m...

P3371 模板 單源最短路徑

題目描述 如題,給出乙個有向圖,請輸出從某一點出發到所有點的最短路徑長度。輸入輸出格式 輸入格式 第一行包含三個整數n m s,分別表示點的個數 有向邊的個數 出發點的編號。接下來m行每行包含三個整數fi gi wi,分別表示第i條有向邊的出發點 目標點和長度。輸出格式 一行,包含n個用空格分隔的整...

P3371 模板 單源最短路徑

題目描述 如題,給出乙個有向圖,請輸出從某一點出發到所有點的最短路徑長度。輸入輸出格式 輸入格式 第一行包含三個整數n m s,分別表示點的個數 有向邊的個數 出發點的編號。接下來m行每行包含三個整數fi gi wi,分別表示第i條有向邊的出發點 目標點和長度。輸出格式 一行,包含n個用空格分隔的整...