国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Dijkstra

2019-11-14 09:50:17
字體:
來源:轉載
供稿:網友

不得不說C++自帶的Heap忒好使(P黨跪哭,撒花~~~)。 看完這篇博文后,一直堅信SPFA大發好的窩決定怒轉Dijkstra……有興趣的童鞋們可以看一下http://blog.csdn.net/xiazdong/article/details/8193680 這里寫圖片描述 結論: 這里寫圖片描述 so 臨時敲了個板子……

#include <cstdio>#include <algorithm>#include <queue>#define INF 2147483647#define maxn 10000+5#define maxm 500000+5using namespace std;int vis[maxn],x,y,z,n,m,s,head[maxn],id,d[maxn];struct xx{ int v,next,q;}b[maxm];struct yy{ int u,d; bool Operator < (const yy& a)const{ return d>a.d; }};void add(int u,int v,int q){ b[++id]=(xx){v,head[u],q}; head[u]=id;}void Dijkstra(int s){ for (int i=1;i<=n;i++) d[i]=INF,vis[i]=0; d[s]=0; PRiority_queue <yy> q; q.push((yy){s,0}); while (!q.empty()) { yy x=q.top();q.pop(); if (!vis[x.u]) { vis[x.u]=1; for (int k=head[x.u];k!=0;k=b[k].next) if (d[b[k].v]>d[x.u]+b[k].q) { d[b[k].v]=d[x.u]+b[k].q; q.push((yy){b[k].v,d[b[k].v]}); } } }}int main(){ scanf("%d%d%d",&n,&m,&s); for (int i=0;i<m;i++) scanf("%d%d%d",&x,&y,&z); add(x,y,z); Dijkstra(s); for (int i=1;i<=n;i++)printf("%d ",d[i]); return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 浠水县| 剑河县| 合江县| 泸溪县| 永新县| 遵义县| 化德县| 文化| 将乐县| 台南县| 砚山县| 大冶市| 双鸭山市| 通道| 高青县| 黄冈市| 惠州市| 松潘县| 伊金霍洛旗| 独山县| 瑞安市| 乡宁县| 河池市| 娄底市| 宁南县| 闽清县| 延长县| 嘉义市| 阿瓦提县| 九龙坡区| 河源市| 酒泉市| 博兴县| 天峻县| 监利县| 南靖县| 丘北县| 沈丘县| 临海市| 墨脱县| 邵阳市|