题目描述
我们有一个 H 行 W 列的网格。设 (i,j) 表示该网格中第 i 行第 j 列的方格。
网格上有 N 个灯泡和 M 个障碍物。第 i 个灯泡位于方格 (Ai,Bi),第 i 个障碍物位于方格 (Ci,Di)。每个方格上最多只能放置一个对象——灯泡或障碍物。
每个灯泡会向上、下、左、右四个方向发出光线,直到碰到一个障碍物为止,照亮光线经过的方格。有灯泡的方格也被认为是被照亮的。在没有障碍物的方格中,找到被灯泡照亮的方格的数目。
约束条件
- 1≤H,W≤1500
- 1≤N≤5×105
- 1≤M≤105
- 1≤Ai≤H
- 1≤Bi≤W
- 1≤Ci≤H
- 1≤Di≤W
- (Ai,Bi)=(Aj,Bj) (i=j)
- (Ci,Di)=(Cj,Dj) (i=j)
- (Ai,Bi)=(Cj,Dj)
- 输入中的所有值都为整数。
输入
从标准输入读入数据,输入格式如下:
H W N M
A1 B1
A2 B2
A3 B3
⋮
AN BN
C1 D1
C2 D2
C3 D3
⋮
CM DM
输出
打印在没有障碍物的方格中被灯泡照亮的方格数目。
示例输入 1
3 3 2 1
1 1
2 3
2 2
示例输出 1
7
在没有障碍物的方格中,除了方格 (3,2),其余全部被照亮。
示例输入 2
4 4 3 3
1 2
1 3
3 4
2 3
2 4
3 2
示例输出 2
8
在没有障碍物的方格中,以下八个方格被照亮:
- 方格 (1,1)
- 方格 (1,2)
- 方格 (1,3)
- 方格 (1,4)
- 方格 (2,2)
- 方格 (3,3)
- 方格 (3,4)
- 方格 (4,4)
示例输入 3
5 5 5 1
1 1
2 2
3 3
4 4
5 5
4 2
示例输出 3
24
这种情况下,没有障碍物的所有方格都被照亮。