Alice 和 Bob 將在一個有 $N$ 列 $M$ 行的網格上進行遊戲,其中 $M$ 為偶數。此外還有一個正整數 $K$。最初,網格中的每個格子都包含一個介於 $0$ 到 $K$(含)之間的數值,且每個格子皆為「未標記」狀態。玩家輪流進行遊戲,由 Alice 先手。當當前玩家無法進行移動時,遊戲結束。
在每位玩家的回合中,他們會選擇一個未標記的格子以及一個介於 $0$ 到 $K$(含)之間的整數 $a$。接著,他們將該格子的數值設為 $a$,並標記與所選格子位於同一行的所有格子(包含所選格子本身)。
網格的「不對稱度」(asymmetry)定義為所有對應格子對在水平鏡像翻轉後的數值絕對差之總和。更正式地說,其定義為:
$$\sum_{1 \le i \le N} \left( \sum_{1 \le j \le M/2} |g_{i,j} - g_{i,M-j+1}| \right)$$
其中 $g_{i,j}$ 是從上往下數第 $i$ 列、從左往右數第 $j$ 行的格子數值。例如,以下的 $2 \times 4$ 網格的不對稱度為 $|8-0| + |4-2| + |6-6| + |7-9| = 12$。
Alice 希望在遊戲結束時最小化網格的不對稱度,而 Bob 希望最大化它。若兩位玩家皆採取最佳策略,最終網格的不對稱度為何?
輸入格式
第一行包含三個以空格分隔的整數 $N$、$M$ 和 $K$ ($1 \le N, M \le 2000$,$M$ 為偶數,$1 \le K \le 10^9$)。
接下來的 $N$ 行,每行包含 $M$ 個整數,其中第 $i$ 行包含整數 $g_{i,1}, \dots, g_{i,M}$ ($0 \le g_{i,j} \le K$),代表從上往下數第 $i$ 列中,由左至右的格子數值。
下表顯示了 25 分的配分方式:
| 得分 | $N$ 的範圍 | $M$ 的範圍 | $K$ 的範圍 |
|---|---|---|---|
| 2 分 | $N = 1$ | $2 \le M \le 2000$ | $1 \le K \le 10^9$ |
| 3 分 | $1 \le N \le 2000$ | $M = 2$ | $K = 1$ |
| 3 分 | $1 \le N \le 2000$ | $M = 2$ | $1 \le K \le 10$ |
| 3 分 | $1 \le N \le 2000$ | $M = 2$ | $1 \le K \le 10^9$ |
| 4 分 | $1 \le N \le 2000$ | $2 \le M \le 2000$ | $K = 1$ |
| 4 分 | $1 \le N \le 2000$ | $2 \le M \le 2000$ | $1 \le K \le 10$ |
| 6 分 | $1 \le N \le 2000$ | $2 \le M \le 2000$ | $1 \le K \le 10^9$ |
輸出格式
輸出一個整數,代表 Alice 和 Bob 皆採取最佳策略時,最終網格的不對稱度。
範例
範例輸入 1
3 2 1 1 0 1 0 0 0
範例輸出 1
2
說明 1
只有 2 行,因此每位玩家各進行 1 次移動。由於 Alice 先手,她可以執行以下移動:
- 選擇第一行中數值為 1 的其中一個格子並將其設為 0。接著 Bob 的最佳移動是將第二行中同一列的格子數值設為 1。最終網格將與原始網格相同,僅有前兩行中的 0 和 1 發生交換。此類網格的不對稱度為 $|1-0| + |0-1| + |0-0| = 2$。
- 選擇第二行中前兩列的其中一個格子並將其設為 1。接著 Bob 的最佳移動是將第一行中同一列的格子數值設為 0。同樣地,最終網格將與原始網格相同,僅有前兩行中的 0 和 1 發生交換。此類網格的不對稱度為 2。
- 選擇第三行中的其中一個格子並將其設為 1。接著 Bob 的最佳移動可以是將第三行中的另一個格子設為 0。注意,所選格子原本的數值已為 0,且此類移動是被允許的。最終,網格的每一行都將有一個 0 和一個 1,導致不對稱度為 3。
- 選擇任何格子並將其設為當前數值。接著 Bob 的最佳移動是將剩餘未標記行中的第三行格子設為 1。最終,網格的每一行都將有一個 0 和一個 1,導致不對稱度為 3。
我們可以看到,無論 Alice 如何移動,Bob 都能以某種方式遊玩,使得不對稱度至少為 2。如果 Alice 選擇最佳的第一步,她可以確保 Bob 無法使最終的不對稱度超過 2。因此,若兩位玩家皆採取最佳策略,不對稱度為 2。
範例輸入 2
1 10 21 4 2 0 6 7 6 9 9 10 21
範例輸出 2
55
說明 2
只有單一列,因此對於每次移動,當前玩家將選擇一個未標記的格子並將其設為 0 到 21 之間的任意數值。遊戲在每位玩家各進行 5 次移動後結束,導致所有 10 個格子皆被標記。
範例輸入 3
4 6 986754321 219759391 882760615 762656191 423465948 621463211 136889371 215621504 385106915 740086459 417915224 551800597 572994766 176308756 365311996 635683450 907755406 590000050 586083433 607011121 457147795 837558908 684766852 946836347 303039615
範例輸出 3
3972378656
說明 3
注意答案可能無法放入 32 位元整數中。