最短路(弗洛伊德) hdu2544

2021-07-11 20:36:46 字數 900 閱讀 9442

problem description

在每年的校賽裡,所有進入決賽的同學都會獲得一件很漂亮的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 11 2 3

3 31 2 5

2 3 5

3 1 2

0 0sample output 3

2

#include#include#include#define ll long long

using namespace std;

int graph[105][105];

int main()

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

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

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

if(graph[i][j]>graph[i][k]+graph[k][j])

graph[i][j]=graph[i][k]+graph[k][j];

cout<}

return 0;

}

hdu 2544 最短路 弗洛伊德

剛開始學弗洛伊德,這是個套模板的題 把給的條件轉化為乙個二維陣列,儲存的值代表i到j的距離,沒有路的直接賦值為無窮大,無窮大的定義是按照定義的資料型別而定的 先從1開始,假設1為轉折點更新i到j的距離,然後 每個點都可以是轉折點,所以k從1到n.for k 1 k n k k代表轉折點 在每年的校賽...

HDU 2544 最短路 最短路

最近複習了最短路徑的演算法,就寫了4個版本的測試。正好是模板題,就果斷a之。dijkstar版本 include include include include include include includeusing namespace std define n 110 define max 99...

hdu 2544 最短路(最短路)

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