#df1921. 是不是亲戚
是不是亲戚
是不是亲戚
题目描述
若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系。
规定:x 和 y 是亲戚,y 和 z 是亲戚,那么 x 和 z 也是亲戚。如果 x,y 是亲戚,那么 x 的亲戚都是 y 的亲戚,y 的亲戚也都是 x 的亲戚。
输入格式
第一行:三个整数 n,m,p,(n≤5000,m≤5000,p≤5000 ),分别表示有 n 个人,m 个亲戚关系,询问 p 对亲戚关系。
以下 m 行:每行两个数 Mi,Mj,1≤Mi,Mj≤N,表示 Mi 和 Mj 具有亲戚关系。
接下来 p 行:每行两个数 Pi,Pj,询问 Pi 和 Pj 是否具有亲戚关系。
输出格式
p 行,每行一个 Yes 或 No。表示第 i 个询问的答案为“具有”或“不具有”亲戚关系。
样例输入 #1
6 5 3
1 2
1 5
3 4
5 2
1 3
1 4
2 3
5 6
样例输出 #1
Yes
Yes
No
数据范围
n≤5000,m≤5000,p≤5000,1≤Mi,Mj≤N,1≤Pi,Pj≤N。
知识点与难度
本题涉及的知识点从属于 并查集,难度等级:⭐(入门)。
测试点分布
| Subtask | 分值 | 测试点编号 | 说明 |
|---|---|---|---|
| 0 | 10 | 1~2 | 样例 / 构造小样例 |
| 1 | 20 | 3~8 | 小规模 N≤10 / 特殊: 链 / 特殊: 全连通 / 特殊: 不连通 |
| 2 | 15 | 9~11 | Hack: N=1边界 / Hack: 自环 / Hack: 最大规模询问 |
| 3 | 30 | 12~20 | 中规模 N≈1000~5000 / 大规模 N=5000 压力 |
| 4 | 25 | 21~25 | 随机 N=1~5000 回归 |