#P10001. T2.凌空而上
T2.凌空而上
T2.凌空而上
凌苍踏星而来,一步一行,皆关灵晶之数。
恰收 K 枚,方显天命所归。
题目背景
凌苍,青霄门新晋真传弟子,奉命下山搜集天地灵晶。
灵晶皆藏于凡俗城池的密室之中,城池由 R 行 C 列方格组成,共 N 枚灵晶散落其间,每枚灵晶独占一格。
凌苍可择任意格子踏入,一旦落定,便会触发收灵大阵:
- 先收其所在整行的所有灵晶;
- 再收其所在整列的所有灵晶。
重复者仅计一次。
凌苍欲恰好收得 K 枚灵晶,问共有多少格可作为其落脚点?
输入格式
R C K
N
r₁ c₁
r₂ c₂
...
r_N c_N
- 第 1 行:三个整数 R, C, K
- 第 2 行:一个整数 N
- 接下来 N 行:每行两个整数 rᵢ, cᵢ(1 ≤ rᵢ ≤ R,1 ≤ cᵢ ≤ C),表示第 i 枚灵晶的位置。
保证任意两枚灵晶不在同一格。
输出格式
输出一行一个整数:满足“恰好收得 K 枚灵晶”的格子总数。
样例
输入 #1
3 5 3
5
1 2
2 1
2 5
3 2
3 5
输出 #1
5
输入 #2
7 3 1
4
3 2
3 3
4 2
4 3
输出 #2
0
输入 #3
5 5 2
5
1 1
2 2
3 3
4 4
5 5
输出 #3
20
约束条件: 1 ≤ R, C, K ≤ 100,000 (K ≤ N ≤ 100,000) (1 ≤ rᵢ ≤ R,1 ≤ cᵢ ≤ C)
约束:
- 对于20%数据: 1 ≤ R,C,K,N≤ 10
- 对于50%数据: 1 ≤ R,C,K,N≤ 20
- 对于100%数据: 1 ≤ R,C,K,N≤ 50 (K ≤ N ) (1 ≤ rᵢ ≤ R,1 ≤ cᵢ ≤ C)
说明: 对于样例1: 例如,考虑云阙凌苍移动到格子 (3,2) 的情况:
- 灵晶1 在格子 (1,2)。该格子与 (3,2) 在同一列,故凌苍可收取灵晶 1;
- 灵晶 2 在格子 (2,1)。既不同行亦不同列,无法收取;
- 灵晶 3 在格子 (2,5)。既不同行亦不同列,无法收取;
- 灵晶 4 在格子 (3,2)。正处同一格(同行同列),可收取;
- 灵晶 5 在格子 (3,5)。与 (3,2) 同行,可收取。
综上,凌苍共得灵晶 1、4、5,恰好 3 颗,等于 K,因此格子 (3,2) 是一个可行落脚点。
此外,格子 (1,5)、(2,5)、(3,1)、(3,5) 亦皆满足条件,故答案为 5。
对于样例额2: 无论云阙凌苍移至哪一格,均无法恰好收得 1 颗灵晶,故答案为 0。