#4502. Don't Isolate Elements

0
    ID: 4502 传统题 2000ms 1024MiB 尝试: 0 已通过: 0 难度: 4 上传者: 标签>AtCoderabc283EGESP 6级线性DP二维数组与矩阵

Don't Isolate Elements

Don't Isolate Elements

题目描述

你得到一个有 HH 行 WW 列的矩阵 AA。矩阵中每个元素的值为 00 或 11。 对于满足 1≤i≤H1 \leq i \leq H 且 1≤j≤W1 \leq j \leq W 的整数对 (i,j)(i, j),我们用 Ai,jA_{i,j} 表示第 ii 行第 jj 列的元素。 你可以对矩阵 AA 重复(可能为零次)执行如下操作:

选择一个整数 ii,满足 1≤i≤H1 \leq i \leq H。对于每个满足 1≤j≤W1 \leq j \leq W 的整数 jj,将 Ai,jA_{i,j} 的值替换为 1−Ai,j1-A_{i,j}。

当且仅当不存在与其相邻且值相同的元素时,Ai,jA_{i,j} 被称为 孤立的;换句话说,当且仅当四个整数对 (x,y)=(i−1,j),(i+1,j),(i,j−1),(i,j+1)(x,y) = (i-1,j),(i+1,j),(i,j-1),(i,j+1) 中没有任意一对同时满足 1≤x≤H,1≤y≤W1 \leq x \leq H, 1 \leq y \leq W 且 Ai,j=Ax,yA_{i,j} = A_{x,y}。 判断是否可以通过重复该操作使矩阵 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-1。

3 3
1 1 0
1 0 1
1 0 0
1
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

提示

2≤H,W≤10002 \leq H,W \leq 1000 Ai,j=0A_{i,j} = 0 或 Ai,j=1A_{i,j} = 1 输入中的所有值均为整数。对 i=1i = 1 的一次操作会使 A=((0,0,1),(1,0,1),(1,0,0))A = ((0,0,1),(1,0,1),(1,0,0)),其中不再存在孤立元素。

标签: AtCoder|abc283E

来源

AtCoder|abc283E