Counting portal
시간 제한1초메모리 제한1024 MB
높이가 5 이상, 너비가 4 이상이고 테두리에 2번 블록이 없으며 내부가 모두 빈 공간인 직사각형의 개수를 센다.
문제
마인크래프트는 다양한 종류의 블록을 이용해 구조물을 만들 수 있는 게임이다. 게임 내에서 블록은 다음 3가지 종류로 구분할 수 있다.
- 빈 공간(
0): 비어 있는 공간으로, 어떤 블록도 없는 상태이다. - 옵시디언 블록(
1): 특수한 블록으로, 문제에서 중요한 역할을 하는 블록이다. - 그 외의 블록(
2): 나무 블록, 흙 블록 등이 해당된다.
마인크래프트에는 지옥문이라는 특별한 구조물이 있다. 지옥문은 특정한 조건을 만족하는 직사각형 모양의 구멍의 형태를 갖춘 구조물로, 지옥으로 이동하는 통로로 사용된다.
높이 , 너비 인 직사각형 모양의 현재 상태 가 주어진다. 위치 ()에 해당되는 는 현재 상태 의 번째 행, 번째 열에 해당되는 블록을 나타내며, 위에서 언급한 3가지 종류의 블록(0, 1, 또는 2) 중 하나이다.
두 위치 (), ()를 각각 직사각형의 왼쪽 위 꼭짓점과 오른쪽 아래 꼭짓점으로 하여 지옥문을 만들고자 한다. 플레이어는 블록을 제거할 수 없고, 옵시디언 블록만을 자유롭게 설치할 수 있는 상황이다. 이 경우, 지옥문을 만들 수 있는 조건은 다음과 같다.
- 를 만족하는 모든 에 대해, 이고 이다.
- 를 만족하는 모든 에 대해, 이고 이다.
- 를 만족하는 모든 순서쌍 ()에 대해, 이다.
실제 마인크래프트와는 달리, 여기서 지옥문의 최대 크기에는 제한이 없다.
이 때, 지옥문을 만들 수 있는 순서쌍 ()의 개수를 구하여라.
입력
첫 번째 줄에 현재 상태 의 크기 과 이 주어진다. (, )
두 번째 줄부터 개의 줄에 걸쳐 개의 수가 공백으로 구분되어 주어진다. 번째 줄의 번째 수는 를 나타낸다. 0은 비어있는 상태, 1은 옵시디언 블록으로 채워진 상태, 2는 그 외의 블록으로 채워진 상태이다.
출력
조건에 따라 지옥문을 만들 수 있는 순서쌍 ()의 개수를 출력한다.
힌트
예제 1에서, 조건에 따라 지옥문을 만들 수 있는 순서쌍의 개수는 3개이다.
