#ATagc033d. [AGC033D] Complexity
[AGC033D] Complexity
题目描述
本题的内存限制与通常不同,请注意。
对于一个每个格子都被涂成黑色或白色的矩形网格,我们定义其复杂度如下:
- 如果所有格子都是白色,或者所有格子都是黑色,则复杂度为 。
- 否则,可以用一条与网格边平行的直线将网格分成两个部分,分别记这两个部分的复杂度为 、。分割方式可能有多种,取所有分割方式中 的最小值为 ,则该网格的复杂度为 。
现在给定一个高为 行、宽为 列的黑白网格。网格的状态由 到 共 个字符表示。第 行第 列的格子如果是黑色,则 为 #,如果是白色,则 为 .。
请你求出给定网格的复杂度。
输入格式
输入以如下格式从标准输入读入:
输出格式
输出给定网格的复杂度。
样例 1
输入
3 3
...
.##
.##
输出
2
样例 2
输入
6 7
.####.#
#....#.
#....#.
#....#.
.####.#
#....##
输出
4
说明/提示
限制
- 为
#或.
样例解释 1
可以尝试在第 列和第 列之间分割网格。只包含第 列的网格复杂度为 ,只包含第 、 列的网格复杂度为 ,因此整个网格的复杂度不超过 。
由 ChatGPT 4.1 翻译