Home => ProblemSet => 3.6-02:连通块中点的数量
Problem1368--3.6-02:连通块中点的数量

1368: 3.6-02:连通块中点的数量

Time Limit: 1 Sec  Memory Limit: 128 MB  Submit: 0  Solved: 8
[ Submit ] [ Status ] [ Creator: ][ 参考程序 ]

Description

给定一个包含n个点(编号为1~n)的无向图,初始时图中没有边。
现在要进行m个操作,操作共有三种:
  1. “C a b”,在点a和点b之间连一条边,a和b可能相等;
  2. “Q1 a b”,询问点a和点b是否在同一个连通块中,a和b可能相等;
  3. “Q2 a”,询问点a所在连通块中点的数量;

Input

第一行输入整数n和m。
接下来m行,每行包含一个操作指令,指令为“C a b”,“Q1 a b”或“Q2 a”中的一种。

Output

对于每个询问指令”Q1 a b”,如果a和b在同一个连通块中,则输出“Yes”,否则输出“No”。
对于每个询问指令“Q2 a”,输出一个整数表示点a所在连通块中点的数量
每个结果占一行。

Sample Input Copy

5 5
C 1 2
Q1 1 2
Q2 1
C 2 5
Q2 5

Sample Output Copy

Yes
2
3

HINT

1≤n,m≤10^5

Source/Category