有一個旅行社想要開發一個旅遊規劃程式來幫客戶計算出其選定之觀光景點的最短交通路徑。所有的觀光景點(不超過13個景點)可以形成一個景點圖。
此系統可以讓客戶選擇要玩的觀光景點(最少兩個,不超過總共景點數)。其中第一個為出發的景點,系統即自動規劃出可以走完所有指定觀光景點的最短路徑。其所規劃的路徑可以重覆經過同一個觀景點,且可任意排列參觀的次序(起點除外)。
首先有一個正整數 $n$($2 \le n \le \textcolor{red}{13}$),代表總共景點數,這些景點的編號由 $0$ 到 $n-1$。接下來有個整數 $m$,代表有幾條邊。接下來 $m$ 行,每行有三個數代表一條邊,第一、第二個數代表這條邊連結哪兩個點,第三個數代表這條邊的長度。再這之後有一個數字 $k$,代表想去的景點有 $k$ 個(包括起點),下一行有 $k$ 個數,代表 $k$ 個想去的景點的編號,其中第一個數為起點。
首先請輸出最短的行程總長為多少,再來請輸出依序要經過哪些景點。若有多條最佳解,請輸出字典順序最小的那組。
輸入的數值限制有稍作更改,請留意 :)
原TIOJ1028 / 96建中校內資訊能力競賽(prob5)
No. | Testdata Range | Score |
---|---|---|
1 | 0 | 11 |
2 | 1 | 11 |
3 | 2 | 11 |
4 | 3 | 11 |
5 | 4 | 11 |
6 | 5 | 11 |
7 | 6 | 11 |
8 | 7 | 11 |
9 | 8 | 12 |