【問題E09】最短路徑問題(Shortest path)。 [回前頁]
假設有5個朋友的住處分別用a,b,c,d,e來表示。如果任兩點之間有路相通,則會知道距離,例如a-b直通的路徑的距離是10,就用a-b=10表示。b-c直通的路徑的距離是20,就用b-c=20表示。a-c直通的路徑的距離是35,就用a-c=35表示。
現在發生了一件急事,我們希望想從a運送物品到e,並且希望能找出一條最短路徑。來幫他們快速解決緊急事件。要注意的是:任兩點之間的路是雙向,也就是說如果a-b=10則b-a也等於10。
本問題的輸入只有一組樣本,但卻分散在連續的各行,請先自行合併成一行,再作進一步的處理,而且資料是用「起點-終點=距離」的格式,代表某兩點間的距離。而不同兩點距離資料將與前一組資料以逗點分開。
對於該組樣本找出a-e的最短路徑後輸出其值。
【輸入檔案範例1】
a-b=10,b-c=20,a
-c=35,a-e=100,c-e=
20
【輸出檔案範例2】
50
【輸入檔案範例2】
a-b=10,b-c=20,a
-c=35,a-e=100,c-e=
20,c-d=9
,d-e=7
【輸出檔案範例2】
46