#agc033d. [agc033_d]Complexity

[agc033_d]Complexity

题目描述

注意不同的内存限制。

给定一个黑白相间的矩形方格网格,我们将其复杂度定义如下:

  • 如果所有方格都是黑色或都是白色,则复杂度为00
  • 否则,通过与网格边界平行的一条线将网格分成两个子网格,并称c1c_1c2c_2为子网格的复杂度。可以有多种方法来进行划分,令mm为这些划分中max(c1,c2)\\max(c_1, c_2)的最小值。网格的复杂度为m+1m+1

给定一个具有HHWW列的网格,每个方格都是黑色或白色。从A11A_{11}AHWA_{HW}HWHW个字符表示方格的颜色。如果位于自顶向下的第ii行和自左向右的第jj列的方格是黑色,则AijA_{ij}#;如果方格是白色,则AijA_{ij}.

求给定网格的复杂度。

约束条件

  • 1H,W1851 \leq H,W \leq 185
  • AijA_{ij}#.

输入

输入以以下格式从标准输入给出:

HH WW A11A_{11}A12A_{12}......A1WA_{1W} :: AH1A_{H1}AH2A_{H2}......AHWA_{HW}

输出

输出给定网格的复杂度。

示例输入1

3 3
...
.##
.##

示例输出1

2

我们可以通过第一列和第二列之间的边界线将网格划分开来。第一列构成的子网格的复杂度为00,第二列和第三列构成的子网格的复杂度为11,所以整个网格的复杂度最多为22

示例输入2

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

示例输出2

4