王道機試練習 求最短距離Dijkstra演算法

2021-10-08 06:14:11 字數 1021 閱讀 6637

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

輸入:輸入包括多組資料。每組資料第一行是兩個整數 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 條商店到賽場的路線。 當輸入為兩個 0 時,輸入結束。

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

#include

#include

using namespace std;

struct e

;vectoredge[

101]

;//鄰接鍊錶

bool mark[

101]

;bool dis[

101]

;int

main()

for(

int i =

1; i <= n; i++

) dis[1]

=0; mark[1]

= true;

int newp =1;

for(

int i =

1; i < n; i++)}

int min =

123123123

;for

(int j =

1; j <= n; j++)}

mark[newp]

= true;

}printf

("%d\n"

, dis[n]);

}return0;

}

Floyd求最短距離

用floyd演算法求解下圖各個頂點的最短距離。寫出floyd演算法的偽 和給出距離 頂點之間的 最短距離矩陣 按實驗報告模板編寫演算法。floyd演算法的基本思想如下 從任意節點a到任意節點b的最短路徑不外乎2種可能,1是直接從a到b,2是從a經過若干個節點x到b。所以,我們假設dis ab 為節點...

王道機試練習 求素數

題目描述 給定乙個數 n,要求判斷其是否為素數 0,1,負數都是非素數 輸入 測試資料有多組,每組輸入乙個數 n。輸出 對於每組輸入 若是素數則輸出 yes,否則輸入 no。樣例輸入 13樣例輸出 yes怎樣確定乙個數是素數?我們可以用所有大於 1 小於其本身的整數去試著 整除該數,若在該區間內存在...

求球面兩點最短距離

problem 給定球的半徑,兩點的經緯度,求這兩點間的最短距離。solution 球面兩點間距離公式 r acos cos wa cos wb cos jb ja sin wa sin wb r代表半徑,wa是a點的緯度,wb是b點的緯度,ja是a點的經度,jb是b點的經度,去北緯為正,東經為正。...