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