题目描述
有一个网格,网格中有 H 行和 W 列。让 (i,j) 表示从上往下第 i 行,从左往上第 j 列的单元格。
最初,每个单元格中都有一面墙。
按照下面给出的顺序处理 Q 个查询后,求剩余墙的数量。
在第 q 次查询中,我们给出了两个整数 Rq 和 Cq 。
您在 (Rq,Cq) 处放置了一枚炸弹来摧毁墙壁。结果会发生以下过程。
- 如果在 (Rq,Cq) 处有一堵墙,则摧毁这堵墙并结束进程。
- 如果 (Rq,Cq) 处没有墙壁,则摧毁从 (Rq,Cq) 向上、向下、向左、向右观察时出现的第一面墙壁。更确切地说,以下四个过程是同时进行的:
- 如果存在一个 i<Rq ,使得在 (i,Cq) 处有一堵墙,而在所有 i<k<Rq 的 (k,Cq) 处都没有墙,则摧毁 (i,Cq) 处的墙。
- 如果存在一个 i>Rq ,使得在 (i,Cq) 处有一堵墙,而在所有 Rq<k<i 的 (k,Cq) 处都没有墙,则破坏 (i,Cq) 处的墙。
- 如果存在一个 j<Cq ,使得在所有 j<k<Cq 中, (Rq,j) 处有一堵墙,而 (Rq,k) 处没有墙,则破坏 (Rq,j) 处的墙。
- 如果存在一个 j>Cq ,使得在 (Rq,j) 处有一堵墙,而在所有 Cq<k<j 的 (Rq,k) 处没有墙,则破坏 (Rq,j) 处的墙。
输入格式
第一行 3 个整数 H,W,Q。
接下来每行 2 个整数 R,C,表示在坐标 R,C 出放置了一枚炸弹。
输出格式
输出一个整数,表示最后剩下多少堵墙。
样例 1
输入
2 4 3
1 2
1 2
1 3
输出
2
样例 2
输入
5 5 5
3 3
3 3
3 2
2 2
1 2
输出
10
样例 3
输入
4 3 10
2 2
4 1
1 1
4 2
2 1
3 1
1 3
1 2
4 3
4 2
输出
2
说明/提示
- 1≤H,W
- H×W≤4×105
- 1≤Q≤2×105
- 1≤Rq≤H
- 1≤Cq≤W
- 所有输入值均为整数。
Translate by DeepL,Manually verified.