하나보다는 둘이 낫다
시간 제한1초메모리 제한128 MB
0, 1, 2로 이루어진 N x M 격자에서 1을 포함하지 않는 두 직사각형으로 모든 2를 덮을 때, 덮인 칸 수의 최솟값을 구합니다.
문제
행렬이 주어지며, 각 원소는 , , 중 하나이다. 값이 인 원소가 적어도 하나 존재한다.
다음 조건을 만족하도록 축에 평행한 두 직사각형을 고른다(두 직사각형은 서로 겹쳐도 되고, 완전히 같아도 된다).
- 값이 인 모든 칸은 두 직사각형 중 적어도 하나에 포함된다.
- 두 직사각형 중 어느 것도 값이 인 칸을 포함하지 않는다(값이 인 칸은 직사각형 안에 있어도 된다).
직사각형의 넓이는 그 직사각형이 덮는 칸의 개수이다. 조건을 만족하는 모든 방법 중에서, 두 직사각형이 함께 덮는 영역의 넓이(두 직사각형에 모두 포함되는 칸은 한 번만 센다)를 최소로 하라.
그 최소 넓이를 구하라. 조건을 만족하는 두 직사각형이 존재하지 않으면 그 사실을 출력한다.
입력
첫째 줄에 두 정수 과 이 주어진다. 다음 개의 줄에는 각각 개의 정수가 주어지며, 이는 행렬을 위에서부터 한 행씩 나타낸다. 모든 값은 , , 중 하나이다.
출력
두 직사각형이 함께 덮는 최소 넓이를 정수 하나로 출력한다. 조건을 만족하는 두 직사각형이 존재하지 않으면 을 출력한다.
제한
- 행렬의 모든 원소는 , , 중 하나이다.
- 값이 인 원소가 적어도 하나 존재한다.