a111. TOI 2022/03 潛力組:士兵排列

困難TOI 歷屆

時間限制 3000 ms ・ 記憶體限制 256 MB

題目描述

N 名士兵的編號是 1 到 N,要排成一列。若編號 i 與 j 的士兵相鄰,會產生 Aij 的衝突值;整個隊列的衝突值是所有相鄰士兵對的衝突值總和。

請找出總衝突值最小的排列。如果有多個最佳排列,選字典序最小者:由左到右比較,第一個不同位置上編號較小的排列優先。

輸入格式

第一行是 N,接著 N 行每行 N 個整數,為矩陣 A。

  • 1 ≤ N ≤ 17
  • 0 ≤ Aij ≤ 100
  • Aij = Aji,且 Aii = 0

輸出格式

第一行輸出最小總衝突值。第二行輸出最佳排列的 N 個士兵編號,以空白隔開。

來源

TOI 2022 年 3 月潛力組〈士兵排列〉。以自寫文字重述,範例與測資另行設計。 https://tpmso.k12ea.gov.tw/toi/wp-content/uploads/question/202203/Soldiers.pdf 題意核對鏡像:https://zerojudge.tw/ShowProblem?problemid=h663

範例測資

範例輸入 1

3
0 8 1
8 0 2
1 2 0

範例輸出 1

3
1 3 2
請先登入後再提交程式碼

討論與題解

載入討論區…

更多