国产探花免费观看_亚洲丰满少妇自慰呻吟_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;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宁晋县| 台前县| 富川| 买车| 镶黄旗| 化隆| 阳西县| 砀山县| 台湾省| 项城市| 东阿县| 津市市| 从江县| 扶余县| 桐乡市| 池州市| 万源市| 团风县| 呼玛县| 宁强县| 卢湾区| 龙里县| 武平县| 涟源市| 平罗县| 洞头县| 玉田县| 宣化县| 林西县| 大丰市| 韶关市| 华安县| 文安县| 镇雄县| 武隆县| 镇远县| 台东县| 嵩明县| 凤冈县| 南和县| 若羌县|