问题3784--2016模拟-岛屿

3784: 2016模拟-岛屿

时间限制: 1 Sec  内存限制: 512 MB
提交: 0  解决: 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
【样例说明】
第一行数据1 2 3,这时2和3不通,输出No,将2和3连起来,第二行数据1 3 2,这时3和2相通了,输出Yes, 第三行数据2 1,从1号点出发,不能到达任一点,输出0,……

来源/分类


[提交] [状态]