P24443 [AtCoder] Don't Isolate Elements
提高-
题目描述

Problem Statement

You are given a matrix A with H rows and W columns. The value of each of its elements is 0 or 1.
For an integer pair (i, j) such that $1 \leq i \leq H$ and $1 \leq j \leq W$, we denote by A_{i,j} the element at the i-th row and j-th column.
You can perform the following operation on the matrix A any number of times (possibly zero):

  • Choose an integer i such that $1 \leq i \leq H$. For every integer j such that $1 \leq j \leq W,$ replace the value of A_{i,j} with 1-A_{i,j}.

A_{i,j} is said to be isolated if and only if there is no adjacent element with the same value; in other words, if and only if none of the four integer pairs $(x,y) = (i-1,j),(i+1,j),(i,j-1),(i,j+1) satisfies 1 \leq x \leq H, 1 \leq y \leq W$, and A_{i,j} = A_{x,y}.
Determine if you can make the matrix A in such a state that no element is isolated by repeating the operation. If it is possible, find the minimum number of operations required to do so.

Input

The input is given from Standard Input in the following format:
H W
$A_{1,1} A_{1,2} \ldots A_{1,W}$
$A_{2,1} A_{2,2} \ldots A_{2,W}$
$\vdots$
$A_{H,1} A_{H,2} \ldots A_{H,W}$

Output

If you can make it in such a state that no element is isolated by repeating the operation, print the minimum number of operations required to do so; otherwise, print -1.

Constraints

  • $2 \leq H,W \leq 1000$
  • A_{i,j} = 0 or A_{i,j} = 1
  • All values in the input are integers.

Sample Input 1

3 3
1 1 0
1 0 1
1 0 0

Sample Output 1

1

An operation with i = 1 makes A = ((0,0,1),(1,0,1),(1,0,0)), where there is no longer an isolated element.

Sample Input 2

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

Sample Output 2

2

Sample Input 3

2 3
0 1 0
0 1 1

Sample Output 3

-1

输入格式

见题面 Input 部分

输出格式

见题面 Output 部分

样例输入
3 3 1 1 0 1 0 1 1 0 0
样例输出
1