TopCoder

User's AC Ratio

100.0% (1/1)

Submission's AC Ratio

100.0% (1/1)

Tags

Description

除了「吃飯、睡覺、打東東」的老故事以外,作為 2021 年的 IOI 銀牌,東東發憤圖強想在 World Final 加冕宇宙冠軍,而發憤圖強就要從發憤塗牆開始。
牆壁可以視為一個 $H \times W$ 的棋盤,每個格子需要被漆成黑色或是白色。東東身為一個分治大師,決定採用分治的方法來完成著色,具體來說,東東採取的策略如下:

  • 如果當前要塗色的矩形內部所有格子全部都是黑色或白色,那東東可以動用「打東東之術」在一瞬間($0$ 單位時間內)就將其塗色完成。
  • 否則,東東可以選一條水平或垂直線將其分割成兩個矩形(理所當然分割線不能選在格子上,要選在格子和格子之間),如果把兩個矩形塗色的時間分別是 $c_1$ 和 $c_2$,那東東就可以在 $\max(c_1,c_2)+1$ 的時間將原本的矩形著色完成。

由於東東想要趕快完成塗色去 $n$ 刷桐生可可的畢業直播,因此他在每次分割的時候都會選擇能最小化總時間的分割方式。
作為一個油宅,你也想看桐生可可的畢業直播,那麼你能計算出來東東會花多久的時間在粉刷牆壁上,方便你結束之後趕過去跟東東一起看嗎?

Input Format

第一行有兩個正整數 $H,W(1\leq H,W\leq 50)$。
接下來 $H$ 行,每行包含一個長度為 $W$ 的字串。第 $i$ 行的第 $j$ 個字元是 # 代表那格是黑色的,是 . 代表該格是白色的。

Output Format

輸出東東最快可以在多短的時間內漆完整面牆。

Sample Input 1

3 3
...
.##
.##

Sample Output 1

2

Sample Input 2

6 7
.####.#
#....#.
#....#.
#....#.
.####.#
#....##

Sample Output 2

4

Hints

Problem Source

AtCoder Grand Contest 033 pD

Subtasks

No. Testdata Range Constraints Score
1 0~1 範例測資 0
2 0~26 無額外限制 100

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 524288 65536 1 2
1 1000 524288 65536 1 2
2 1000 524288 65536 2
3 1000 524288 65536 2
4 1000 524288 65536 2
5 1000 524288 65536 2
6 1000 524288 65536 2
7 1000 524288 65536 2
8 1000 524288 65536 2
9 1000 524288 65536 2
10 1000 524288 65536 2
11 1000 524288 65536 2
12 1000 524288 65536 2
13 1000 524288 65536 2
14 1000 524288 65536 2
15 1000 524288 65536 2
16 1000 524288 65536 2
17 1000 524288 65536 2
18 1000 524288 65536 2
19 1000 524288 65536 2
20 1000 524288 65536 2
21 1000 524288 65536 2
22 1000 524288 65536 2
23 1000 524288 65536 2
24 1000 524288 65536 2
25 1000 524288 65536 2
26 1000 524288 65536 2