#P15349. [TOIP 2025] 巡視農場
[TOIP 2025] 巡視農場
說明
有一群人到了一個蠻荒之地開墾,經過很多努力,開闢了 個農場,他們也開闢了一些道路連接這些農場,每一條道路連接兩個不同的農場。由於道路開闢困難,總共只開闢了 條道路,但任何兩個農場之間,都有長度大於零的路徑直接或間接連接。王老先生擁有其中的 個農場,不過這些農場不一定全部直接連接在一起,可能有兩個王老先生的農場之間,需要經過其他人的農場才能互相來回。
王老先生將他的農場由 到 編號,其中 號農場也是他的住家。他記錄了他的任兩個農場之間的距離,想要規劃出一條從住家( 號農場)出發、巡視經過所有他的農場、最後回到住家的最短路徑。當然,對於規劃出的路徑,各個農場經過的順序與次數皆不限定,中間也可以經過其他人的農場。注意到王老先生並沒有其他農場的資訊,因此王老先生只能透過這 個農場兩兩之間的距離來計算最短路徑。
請你撰寫一支程式,幫王老先生計算出最短的路徑長度,滿足該路徑能巡視經過所有他的農場,最後回到住家。
舉例來說,假設 ,而王老先生擁有其中的 個農場。下圖表示了所有 個農場的結構,其中王老先生的農場被標上了 的編號:
:::align{center}
:::
由於王老先生記錄了他的任兩個農場之間的距離,我們可以將這些距離表示成如下的距離矩陣 ,其中 (第 列的第 行)是農場 到 的距離。可以發現,一個距離矩陣必然是對稱矩陣且對角線均為 :
$$\begin{array}{|c|c|c|c|} \hline 0 & 4 & 8 & 10\\ \hline 4 & 0 & 6 & 8\\ \hline 8 & 6 & 0 & 2\\ \hline 10 & 8 & 2 & 0\\ \hline \end{array}$$而透過距離矩陣提供給我們的資訊,可以找出在這個例子中,最短的路徑是 ,長度為 。
输入格式
$$\begin{aligned} &n \\ &d_{1,1} \; d_{1,2} \; d_{1,3} \; \cdots \; d_{1,n} \\ &d_{2,1} \; d_{2,2} \; d_{2,3} \; \cdots \; d_{2,n} \\ &d_{3,1} \; d_{3,2} \; d_{3,3} \; \cdots \; d_{3,n} \\ &\vdots \\ &d_{n,1} \; d_{n,2} \; d_{n,3} \; \cdots \; d_{n,n} \end{aligned}$$- 代表王老先生擁有的農場個數。
- 代表農場 到 的距離。
- 題敘中提到的 並不會出現在輸入中。
输出格式
- 為一正整數,代表王老先生從 號農場出發、巡視經過所有他的農場、最後回到 號農場的最短路徑長度。
3
0 2 4
2 0 2
4 2 0
8
4
0 4 8 10
4 0 6 8
8 6 0 2
10 8 2 0
22
提示
測資限制
- 。
- 。
- 若 ,則 。
- 若 ,則 。
- 對於所有 ,。
- 保證存在一個正整數 ,滿足存在一個 點 條邊、每條邊長度都大於零的連通圖,滿足 為在其上取 個點後的距離矩陣。
- 輸入的數字皆為整數。
評分說明
本題共有六組子任務,條件限制如下所示。每一組可有一或多筆測試資料,該組所有測試資料皆需答對才會獲得該組分數。
| 子任務 | 分數 | 額外輸入限制 |
|---|---|---|
| 1 | 7 | 。 |
| 2 | 12 | 。 |
| 3 | 13 | 且 ,也就是所有的農場都是王老先生的。 |
| 4 | 21 | ,也就是所有的農場都是王老先生的。 |
| 5 | 23 | 。 |
| 6 | 24 | 無額外限制。 |
京公网安备 11011102002149号