hdu 1874 Dijkstra演算法模板

2021-08-19 06:19:54 字數 535 閱讀 3987

單源最短路徑 迪傑斯特拉演算法

1.初始化地圖,map[i][j]記錄城鎮 i,j之間最短的道路長度,

若無道路連通 ,則為極大值

2.從起始城鎮開始,用廣度優先搜尋思想,嵌入鬆弛處理演算法,

用dis[i]記錄起始城鎮到城鎮 i 的最短路徑長度;

3.答案位於dis[t],即終點t城鎮到起始城鎮的最小距離

#include#include#define inf 10000000

using namespace std;

int main()

scanf("%d%d",&s,&t);

queueq;

q.push(s);//起點入隊

for(i=0;idis[x]+map[x][i])}}

} if(dis[t]==inf)

printf("-1\n");

else

printf("%d\n",dis[t]);

} return 0;

}

Dijkstra演算法解HDU1874

dijkstra演算法是用來解決 確定起點的最短路徑問題 即已知起始結點,求最短路徑的問題。它是常用的最短路徑演算法之一。最常用的路徑演算法有 dijkstra演算法 a 演算法 bellman ford演算法 floyd warshall演算法 johnson演算法。缺陷 它一般用來解決正權,單源...

HDU1874 暢通工程(dijkstra)

某省自從實行了很多年的暢通工程計畫後,終於修建了很多路。不過路多了也不好,每次要從乙個城鎮到另乙個城鎮時,都有許多種道路方案可以選擇,而某些方案要比另一些方案行走的距離要短很多。這讓行人很困擾。現在,已知起點和終點,請你計算出要從起點到終點,最短需要行走多少距離。本題目包含多組資料,請處理到檔案結束...

HDU 1874 暢通工程續 dijkstra

坑點比較多 1.某兩點之間可能有多條通路,在跑dij時需要用距離最小的算。2.當起點和重點相等的時候,距離為0 3.點的編號從0開始。include define nmax 210 using namespace std int mp nmax nmax int dis nmax bool visi...