#P3. 染色 (color)

染色 (color)

题目描述

给定一个 n×mn \times m 的网格,每个格子初始被涂成黑色或白色,保证至少有一个格子被涂成了黑色。

你可以进行如下操作若干次:

  • 沿着一条横线或者竖线,将网格分成两部分。
  • 选择一部分,对于这一部分内的所有格子,以选择的横线/竖线为对称轴,对称到另一部分。如果另一部分的这个位置在网格内且是黑色,则将它染成黑色,否则染成白色。

求出至少进行多少次操作,才能让网格全变成黑色。

输入格式

第一行两个整数 n,mn,m

接下来 nn 行,每行一个长度为 mm0101 字符串,描述网格的一行,其中 00 表示白色,11 表示黑色。

输出格式

输出一行一个整数表示答案。

样例

样例输入

4 4
1001
0100
0110
0110

样例输出

3

【这里有一张图片,请在下发文件中的 pdf 题面中查看】

数据范围与约定

对于所有数据,有:

  • 1n×m1061 \le n \times m \le 10^6
子任务 特殊性质 分值
11 n×m2n \times m \le 2 55
22 n×m16n \times m \le 16 1515
33 n=1,m100n=1,m \le 100 1010
44 n=1n=1 2020
55 n×m2000n \times m \le 2000 1515
66 所有黑色格子构成了一个子矩形
77 无特殊性质 2020