만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

고인물이 싫어

면접 대비

시간 제한1초메모리 제한1024 MB

요약
N×M 격자에서 배수구로부터 물이 빠지는 칸을 찾고, 고인 물이 없는 h×w 직사각형의 개수를 셉니다.
난이도

보통10점 중 4점

유형
BFS, 누적 합, 행렬
정답자
아직 제출이 없습니다

문제

비 오는 날 세종이는 부모님의 심부름으로 물을 사러 갔다. 횡단보도 앞에서 신호를 기다리던 세종이는 횡단보도가 평평하지 않아 물이 고인 것을 보았다.

횡단보도는 N×MN\times M 크기의 직사각형 격자 모양이다. 세종이가 서 있는 쪽 맨 앞의 맨 왼쪽 칸을 11행 11열, 그 행의 맨 오른쪽 칸을 11행 MM열이라고 부른다.

횡단보도의 KK개 칸에는 하수구가 있다. 한 칸은 상하좌우로 인접한 칸 중 하수구가 있거나 이미 물이 빠진 칸이 있고, 그 칸의 높이가 자신과 같거나 낮으면 물이 빠진다. 하수구가 없는 칸 중 물이 빠지지 않은 칸을 물이 고인 칸이라고 한다.

A+B를 풀고 새 신발을 받은 세종이는 신발을 더럽히고 싶지 않아서 물이 고인 칸을 밟지 않고 횡단보도를 건너려 한다. 세종이의 새 신발은 횡단보도의 연속된 hh개 행과 ww개 열을 덮는 직사각형이다. 발을 디딜 때 신발은 항상 격자 칸에 꼭 맞게 놓이며, 세종이는 발의 방향을 돌리지 않는다.

각 칸의 높이가 주어졌을 때, 신발을 더럽히지 않고 횡단보도에 한쪽 발을 딛는 방법의 수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 횡단보도의 크기를 나타내는 두 정수 NN, MM이 공백으로 구분되어 주어진다. (1≤N,M≤10001 \le N, M \le 1000)

둘째 줄에 세종이 신발의 길이와 너비를 나타내는 두 정수 hh, ww가 공백으로 구분되어 주어진다. (1≤h≤N1 \le h \le N, 1≤w≤M1 \le w \le M)

그다음 NN개의 줄에 걸쳐 i+2i+2번째 줄에 MM개의 정수 Hi,1,Hi,2,⋯ ,Hi,MH_{i,1}, H_{i,2}, \cdots, H_{i,M}이 공백으로 구분되어 주어진다. Hi,jH_{i,j}는 횡단보도의 ii행 jj열 칸의 높이이다. (1≤Hi,j≤1001 \le H_{i,j} \le 100)

N+3N+3번째 줄에 하수구의 수를 나타내는 정수 KK가 주어진다. (1≤K≤N×M1 \le K \le N \times M)

그다음 KK개의 줄에 걸쳐 하수구의 위치를 나타내는 두 정수 rr, cc가 공백으로 구분되어 주어진다. 이는 횡단보도의 rr행 cc열에 하수구가 있음을 뜻한다. 입력으로 주어지는 위치는 중복되지 않는다. (1≤r≤N1 \le r \le N, 1≤c≤M1 \le c \le M)

출력

첫째 줄에 세종이가 횡단보도에 한쪽 발을 딛는 방법의 수를 출력한다.

예제1

  1. 예제 1

    입력
    5 5
    2 1
    2 6 7 8 8
    2 3 3 7 9
    4 5 2 6 5
    3 2 1 3 4
    5 7 9 8 1
    2
    2 2
    5 5
    
    예상 출력
    9