850 Dijkstra求最短路 II

2021-10-19 13:09:18 字數 811 閱讀 8763

5481335499920981350在這裡我們用到了優先佇列,我本想自己寫乙個堆,後來看到用的是pii,太麻煩了,開三個陣列還有很多操作,我就用優先佇列了。

#include

#include

#include

#include

using

namespace std;

const

int n=

1e6+10;

typedef pair<

int,

int> pii;

int e[n]

,d[n]

,ne[n]

,h[n]

,idx;

int n,m;

int dist[n]

;bool s[n]

;void

add(

int a,

int b,

int c)

intdijkstra()

);while

(q.size()

));}

}if(dist[n]

==0x3f3f3f3f

)return-1

;else

return dist[n];}

intmain

(void

)

cout<<

dijkstra()

;}

850 Dijkstra求最短路 II

給定乙個n個點m條邊的有向圖,圖中可能存在重邊和自環,所有邊權均為正值。請你求出1號點到n號點的最短距離,如果無法從1號點走到n號點,則輸出 1。輸入格式 第一行包含整數n和m。接下來m行每行包含三個整數x,y,z,表示存在一條從點x到點y的有向邊,邊長為z。輸出格式 輸出乙個整數,表示1號點到n號...

Dijkstra求最短路

題目鏈結 給定乙個n個點m條邊的有向圖,圖中可能存在重邊和自環,所有邊權均為正值。請你求出1號點到n號點的最短距離,如果無法從1號點走到n號點,則輸出 1。輸入格式 第一行包含整數n和m。接下來m行每行包含三個整數x,y,z,表示存在一條從點x到點y的有向邊,邊長為z。輸出格式 輸出乙個整數,表示1...

Dijkstra求最短路

題目鏈結 給定乙個n個點m條邊的有向圖,圖中可能存在重邊和自環,所有邊權均為非負值。請你求出1號點到n號點的最短距離,如果無法從1號點走到n號點,則輸出 1。輸入格式 第一行包含整數n和m。接下來m行每行包含三個整數x,y,z,表示存在一條從點x到點y的有向邊,邊長為z。輸出格式 輸出乙個整數,表示...