#ABC283E. 消除孤立元素

消除孤立元素

消除孤立元素

题目描述

给定一个 HHWW 列的矩阵 AA,每个元素的值是 0011。 对于满足 1iH1 \leq i \leq H1jW1 \leq j \leq W 的整数对 (i,j)(i, j),用 Ai,jA_{i,j} 表示第 ii 行第 jj 列的元素。

可以对矩阵 AA 进行任意次(可能为 0 次)以下操作:

  • 选择一个整数 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} 不存在值相同的相邻元素时,称 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 达到没有任何元素孤立的状态。如果可能,求出所需的最小操作次数。

输入格式

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

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。

样例

3 3
1 1 0
1 0 1
1 0 0
1

i=1i = 1 进行一次操作后,A=((0,0,1),(1,0,1),(1,0,0))A = ((0,0,1),(1,0,1),(1,0,0)),此时不再有孤立的元素。

4 4
1 0 0 0
0 1 1 1
0 0 1 0
1 1 0 1
2
2 3
0 1 0
0 1 1
-1

数据范围

  • 2H,W10002 \le H,W \le 1000
  • Ai,j=0A_{i,j} = 0Ai,j=1A_{i,j} = 1
  • 输入中的所有值均为整数。
难度 提高
通过率
尝试 0
已通过 0
ID
2579
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签