atcoder#AGC033D. [AGC033D] Complexity
[AGC033D] Complexity
题目描述
この問題のメモリ制限はいつもと異なります。注意してください。
各マスが白か黒で塗られている長方形状のマス目に対して、 複雑さ を以下のように定めます。
- すべてのマスが白、もしくはすべてのマスが黒のとき、複雑さは である。
- そうでないとき、マス目のいずれかの辺に平行な直線でマス目を つのマス目に分割し、それらのマス目の複雑さを , とする。 分割の仕方は複数ありうるが、それらにおける の最小値を として、このマス目の複雑さを とする。
実際に縦 行、横 列の白黒に塗られたマス目が与えられます。 マス目の状態は から の 個の文字で表されており、 上から 行目、左から 列目にあるマスが黒色のとき は #
、 上から 行目、左から 列目にあるマスが白色のとき は .
となっています。
与えられたマス目の複雑さを求めてください。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
与えられたマス目の複雑さを出力せよ。
题目大意
- 给定一个 行 列的字符矩阵。
- 我们定义一个字符矩阵的凌乱度为:
- 若这个字符矩阵中所有字符都相同,则凌乱度为 。
- 否则,则考虑所有的沿水平或者竖直方向的直线,将字符矩阵分成两个不为空的部分,设两个部分的凌乱度分别为 和 ,则整个字符矩阵的凌乱度为 的最小值。
- 请你求出,给出的字符矩阵的凌乱度是多少。
- 。
3 3
...
.##
.##
2
6 7
.####.#
#....#.
#....#.
#....#.
.####.#
#....##
4
提示
制約
- は
#
または.
Sample Explanation 1
列目と 列目の境目で つのマス目に分割してみます。 列目だけからなるマス目の複雑さは 、, 列目からなるマス目の複雑さは なので、 このマス目の複雑さは 以下だと分かります。