#P2221. 岛屿(island)

岛屿(island)

【问题描述】

湖面上有 n 座岛屿,从 1~n 编号。现在要湖上建桥使得岛屿连接起来。桥双向通行。

【输入格式】

输入第一行有两个整数 n,m。

接下来是 m 行,按照时间顺序每行是一次询问。每行第一个整数 q 代表询问的内容:如果q=1,则接下来是两个岛屿编号 a,b(a≠b);如果 q=2,则接下来是一个岛屿编号 c。

【输出格式】

对于每个询问,按次序各输出一行作为回答: q=1 时:如果 a,b 相互可达,则输出 Yes;如果 a,b 相互不可达,则输出 No,并在 a,b 之间建一座桥。 q=2 时:输出一个整数 x,表示由 c 出发可以到达的岛屿有 x 个(不包括 c 自身)。

【样例输入】

5 9 
1 2 3 
1 3 2 
2 1 
2 2 
1 4 5 
1 2 4 
1 2 5 
2 4 
2 5

【样例输出】

No 
Yes 
0 
1 
No 
No 
Yes 
3 
3 

【数据范围】

对于 100%的数据,2≤n≤10,000, 1≤m≤30,000