最短路徑演算法 最短路

2021-08-21 15:43:44 字數 1061 閱讀 9269

在每年的校賽裡,所有進入決賽的同學都會獲得一件很漂亮的t-shirt。但是每當我們的工作人員把上百件的衣服從商店運回到賽場的時候,卻是非常累的!所以現在他們想要尋找最短的從商店到賽場的路線,你可以幫助他們嗎? 

input

輸入包括多組資料。每組資料第一行是兩個整數n、m(n<=100,m<=10000),n表示成都的大街上有幾個路口,標號為1的路口是商店所在地,標號為n的路口是賽場所在地,m則表示在成都有幾條路。n=m=0表示輸入結束。接下來m行,每行包括3個整數a,b,c(1<=a,b<=n,1<=c<=1000),表示在路口a與路口b之間有一條路,我們的工作人員需要c分鐘的時間走過這條路。 

輸入保證至少存在1條商店到賽場的路線。 

output

對於每組輸入,輸出一行,表示工作人員從商店走到賽場的最短時間

sample input

2 1

1 2 3

3 31 2 5

2 3 5

3 1 2

0 0

sample output

3

2

#include#includeconst int n=105, inf=9999999;

int dis[n], w[n][n],vis[n];

//w為地圖面積

//vis陣列用來放置已經是最小路徑的點

int n,m;//n為路口數和賽場所在地,m為有多少條路

void dijkstra(int src)

vis[u] = 1; //將該點放入確定是最小路徑的陣列

for(int j=1; j<=n; ++j)

if(!vis[j])

}}int main()

for(int i = 0;idijkstra(1);

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

//輸出從1到n的最短花費

}return 0;

}

Codeup最短路徑 最短路徑

n個城市,標號從0到n 1,m條道路,第k條道路 k從0開始 的長度為2 k,求編號為0的城市到其他城市的最短距離。第一行兩個正整數n 2 n 100 m m 500 表示有n個城市,m條道路,接下來m行兩個整數,表示相連的兩個城市的編號。n 1行,表示0號城市到其他城市的最短路,如果無法到達,輸出...

演算法題 最短路徑 03 最短路

在每年的校賽裡,所有進入決賽的同學都會獲得一件很漂亮的t shirt。但是每當我們的工作人員把上百件的衣服從商店運回到賽場的時候,卻是非常累的!所以現在他們想要尋找最短的從商店到賽場的路線,你可以幫助他們嗎?input 輸入包括多組資料。每組資料第一行是兩個整數n m n 100,m 10000 n...

最短路 最短路徑問題

題目描述 平面上有n個點 n 100 每個點的座標均在 10000 10000之間。其中的一些點之間有連線。若有連線,則表示可從乙個點到達另乙個點,即兩點間有通路,通路的距離為兩點直線的距離。現在的任務是找出從一點到另一點之間的最短路徑。input 共有n m 3行,其中 第一行為乙個整數n。第2行...