Type: Default 1000ms 256MiB

亲戚

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

【题目描述】

或许你并不知道,你的某个朋友是你的亲戚。他可能是你的曾祖父的外公的女婿的外甥女的表姐的孙子。如果能得到完整的家谱,判断两个人是否是亲戚应该是可行的,但如果两个人的最近公共祖先与他们相隔好几代,使得家谱十分庞大,那么检验亲戚关系实非人力所能及。在这种情况下,最好的帮手就是计算机。为了将问题简化,你将得到一些亲戚关系的信息,如Marry和Tom是亲戚,Tom和Ben是亲戚,等等。从这些信息中,你可以推出Marry和Ben是亲戚。请写一个程序,对于我们的关于亲戚关系的提问,以最快的速度给出答案。

【输入】

输入由两部分组成。

第一部分以N,M开始。N为问题涉及的人的个数(1≤N≤20000)。这些人的编号为1,2,3,…, N。下面有M行(1≤M≤1000000),每行有两个数a_i,b_ia\_i, b\_i,表示已知a_ia\_ib_ib\_i是亲戚。

第二部分以Q开始。以下Q行有Q个询问(1≤ Q ≤1000000),每行为c_i,d_ic\_i, d\_i,表示询问c_ic\_id_id\_i是否为亲戚。

【输出】

对于每个询问c_i,d_ic\_i, d\_i,输出一行:若c_ic\_id_id\_i为亲戚,则输出“Yes”,否则输出“No”。

【输入样例】

10 7
2 4
5 7
1 3
8 9
1 2
5 6
2 3
3
3 4
7 10
8 9

【输出样例】

Yes
No
Yes

数据结构——图(并查集)

Not Claimed
Status
Done
Problem
5
Open Since
2025-3-22 17:00
Deadline
2025-3-30 23:59
Extension
24 hour(s)