#agc033d. [agc033_d]Complexity
[agc033_d]Complexity
問題文
この問題のメモリ制限はいつもと異なります。注意してください。
各マスが白か黒で塗られている長方形状のマス目に対して、 複雑さ を以下のように定めます。
- すべてのマスが白、もしくはすべてのマスが黒のとき、複雑さは である。
- そうでないとき、マス目のいずれかの辺に平行な直線でマス目を つのマス目に分割し、それらのマス目の複雑さを , とする。 分割の仕方は複数ありうるが、それらにおける の最小値を として、このマス目の複雑さを とする。
実際に縦 行、横 列の白黒に塗られたマス目が与えられます。 マス目の状態は から の 個の文字で表されており、 上から 行目、左から 列目にあるマスが黒色のとき は #
、 上から 行目、左から 列目にあるマスが白色のとき は .
となっています。
与えられたマス目の複雑さを求めてください。
制約
- は
#
または.
入力
入力は以下の形式で標準入力から与えられる。
出力
与えられたマス目の複雑さを出力せよ。
入力例 1
3 3
...
.##
.##
出力例 1
2
列目と 列目の境目で つのマス目に分割してみます。 列目だけからなるマス目の複雑さは 、, 列目からなるマス目の複雑さは なので、 このマス目の複雑さは 以下だと分かります。
入力例 2
6 7
.####.#
#....#.
#....#.
#....#.
.####.#
#....##
出力例 2
4