刪除邊界 (APCS 2019-10 高級)
2.0s 256M給定一個由 \(0\) 與 \(1\) 組成的矩形。每次可以選擇目前最上、最下、最左或最右的一整條邊界,翻轉其中任意格子,使這條邊界全為 \(0\) 或全為 \(1\),再刪除這條邊界。翻轉一格的費用為 \(1\),刪除本身不花費。重複操作直到矩形全部刪除,求最少總翻轉次數。
輸入格式
第一行為列數 \(m\) 與行數 \(n\)。接下來 \(m\) 行,每行為該列的 \(n\) 個 \(0\) 或 \(1\)。
輸出格式
輸出刪除整個矩形所需的最少翻轉次數。
資料範圍
\(1\le m,n\le25\)。
範例輸入 1
4 5
0 1 0 1 1
1 1 1 0 1
0 0 0 0 0
0 0 0 1 0
範例輸出 1
2
範例輸入 2
3 5
0 0 0 1 0
1 0 1 1 1
0 0 0 1 0
範例輸出 2
1
題目來源
APCS 2019 年 10 月實作題第 4 題。
題敘參考 tcirc d082 整理,細節可能與正式試題有出入。
登入後即可撰寫程式並提交評測。
登入