2229: 岛屿

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:3 解决:0

题目描述

湖面上有 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。