#abc283e. [abc283_e]Don't Isolate Elements

[abc283_e]Don't Isolate Elements

问题描述

给定一个具有 HH 行和 WW 列的矩阵 AA。其每个元素的值为 0011。对于整数对 (i,j)(i, j),其中 1iH1 \leq i \leq H1jW1 \leq j \leq W,我们将 Ai,jA_{i,j} 表示为第 ii 行和第 jj 列的元素。

您可以对矩阵 AA 执行以下操作任意次数(可能为零):

  • 选择一个整数 ii,使得 1iH1 \leq i \leq H。对于每个整数 jj,使得 1jW1 \leq j \leq W,将 Ai,jA_{i,j} 的值替换为 1Ai,j1-A_{i,j}

如果 Ai,jA_{i,j} 孤立,则说明没有相邻元素具有相同的值;换句话说,当且仅当四个整数对 (x,y)=(i1,j),(i+1,j),(i,j1),(i,j+1)(x,y) = (i-1,j),(i+1,j),(i,j-1),(i,j+1) 不满足 1xH,1yW1 \leq x \leq H, 1 \leq y \leq WAi,j=Ax,yA_{i,j} = A_{x,y} 时,Ai,jA_{i,j} 就是孤立的。

判断是否可以通过重复操作使矩阵 AA 中没有元素是孤立的。如果可能,找出所需操作的最小次数。

约束条件

  • 2H,W10002 \leq H, W \leq 1000
  • Ai,j=0A_{i,j} = 0Ai,j=1A_{i,j} = 1
  • 输入中的所有值都是整数。

输入

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

HH WW A1,1A_{1,1} A1,2A_{1,2} \ldots A1,WA_{1,W} A2,1A_{2,1} A2,2A_{2,2} \ldots A2,WA_{2,W} \vdots AH,1A_{H,1} AH,2A_{H,2} \ldots AH,WA_{H,W}

输出

如果可以通过重复操作使其不再有孤立元素,则输出所需操作的最小次数;否则输出 -1


示例输入 1

3 3
1 1 0
1 0 1
1 0 0

示例输出 1

1

通过选择 i=1i = 1 进行一次操作,我们得到 A=((0,0,1),(1,0,1),(1,0,0))A = ((0,0,1),(1,0,1),(1,0,0)),其中不再存在孤立元素。


示例输入 2

4 4
1 0 0 0
0 1 1 1
0 0 1 0
1 1 0 1

示例输出 2

2

示例输入 3

2 3
0 1 0
0 1 1

示例输出 3

-1