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

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

文章標題

2019-11-08 03:05:40
字體:
來源:轉載
供稿:網友

dijkstra 算法及其隊列優化

#include <iostream>#include<bits/stdc++.h>using namespace std;#define maxn 2999//dijkstra 算法的優先隊列優化#define inf 999999struct node{ int num,val; //存放結點編號和到初始點的距離}nod;PRiority_queue<node>QQ;//優先從小到大bool Operator < (node a,node b){ if(a.val==b.val) return a.num>b.num; return a.val>b.val;}int book[1000]; //檢查這個點是否用過int dis[100]; //到原點最短距離int tu[100][100];//記錄路徑長度 int n,m;int main(){ int a,b,c; while(~scanf("%d%d",&n,&m)) //輸入頂點數和邊數 { while(!qq.empty())qq.pop(); memset(book,0,sizeof(book)); memset(tu,-1,sizeof(tu)); for(int i=0;i<m;i++) { scanf("%d%d%d",&a,&b,&c); tu[a][b] = tu[b][a] = c; } for(int i=2;i<=n;i++) dis[i] = inf; dis[1] = 0; nod.num = 1; nod.val = 0; qq.push(nod); while(!qq.empty()) { int t = qq.top().num; qq.pop(); for(int i=2;i<=n;i++) { if(tu[t][i]!=-1&&dis[i]>dis[t]+tu[t][i]) { dis[i] = dis[t] +tu[t][i]; nod.num = i; nod.val = dis[i]; qq.push(nod); } } } for(int i=1;i<=n;i++) { printf("%d ",dis[i]); } } return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 三明市| 芜湖市| 武川县| 江都市| 临西县| 龙里县| 南澳县| 曲阜市| 乌拉特中旗| 安阳县| 富宁县| 台东市| 寿阳县| 光山县| 犍为县| 新龙县| 蓬安县| 龙江县| 荃湾区| 和平县| 会东县| 安国市| 新泰市| 汶川县| 如东县| 山东| 西乌珠穆沁旗| 资源县| 西平县| 那曲县| 两当县| 庐江县| 剑川县| 拉孜县| 炉霍县| 泸水县| 孟津县| 东乌珠穆沁旗| 比如县| 上高县| 海原县|