2013年8月13日 星期二

186 - Trip Routing

加州汽車俱樂部(CCC)打算提供會員旅行路線服務,寫一個程式讀取道路資訊以及詢問的兩地,計算出兩地的最短距離。

對於每組詢問, 輸出經過的城市名稱、道路名稱、距離。

Input
 
輸入分成兩個部分,

第一部分描述高速公路的地圖資訊,每一行描述一條高速公路的一小段,用逗號分隔成 4 個欄位,第一欄位表示起點城市名稱,第二欄位表示終點城市名稱,第三欄位表示公路名稱,第四欄位用一個正整數描述公路的長度。

(城市名稱長度最多 20,公路名稱長度最多 10)

第一部分直到空行出現,宣告結束。


第二部分描述詢問的兩地資訊,每一行詢問一組兩地距離,用逗號隔開起點城市與終點城市。

最後用 EOF 最為程式結束。

Output

輸出格式請參考範例輸出,每組詢問前印出 2 個空行


Sample Input

San Luis Obispo,Bakersfield,CA-58,117
Bakersfield,Mojave,CA-58,65
Mojave,Barstow,CA-58,70
Barstow,Baker,I-15,62
Baker,Las Vegas,I-15,92
San Luis Obispo,Santa Barbara,US-101,106
San Luis Obispo,Santa Barbara,CA-1,113
Santa Barbara,Los Angeles,US-101,95
Bakersfield,Wheeler Ridge,CA-99,24
Wheeler Ridge,Los Angeles,I-5,88
Mojave,Los Angeles,CA-14,94
Los Angeles,San Bernardino,I-10,65
San Bernardino,Barstow,I-15,73
Los Angeles,San Diego,I-5,121
San Bernardino,San Diego,I-15,103

Santa Barbara,Las Vegas
San Diego,Los Angeles
San Luis Obispo,Los Angeles
 
Sample Output

From                 To                   Route      Miles
-------------------- -------------------- ---------- -----
Santa Barbara        Los Angeles          US-101        95
Los Angeles          San Bernardino       I-10          65
San Bernardino       Barstow              I-15          73
Barstow              Baker                I-15          62
Baker                Las Vegas            I-15          92
                                                     -----
                                          Total        387


From                 To                   Route      Miles
-------------------- -------------------- ---------- -----
San Diego            Los Angeles          I-5          121
                                                     -----
                                          Total        121


From                 To                   Route      Miles
-------------------- -------------------- ---------- -----
San Luis Obispo      Santa Barbara        US-101       106
Santa Barbara        Los Angeles          US-101        95 
                                                     -----
                                          Total        201