Problem5633--合并集合

5633: 合并集合

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

一共有 $n$ 个数,编号是 $1$∼$n$,最开始每个数各自在一个集合中。
现在要进行 $m$ 个操作,操作共有两种:
  1. ${M\ a\ b}$,将编号为 $a$ 和 $b$ 的两个数所在的集合合并,如果两个数已经在同一个集合中,则忽略这个操作;
  2. ${Q\ a\ b}$,询问编号为 $a$ 和 $b$ 的两个数是否在同一个集合中;

Input

第一行输入整数 $n,\ m\ (1≤n,\ m≤10^5)$。
接下来 $m$ 行,每行包含一个操作指令,指令为 ${M\ a\ b}$ 或 ${Q\ a\ b}$ 中的一种。

Output

对于每个询问指令 ${Q\ a\ b}$,都要输出一个结果,如果 $a$ 和 $b$ 在同一集合内,则输出 ${Yes}$,否则输出 ${No}$。
每个结果占一行。

Sample 1 Input

4 5
M 1 2
M 3 4
Q 1 2
Q 1 3
Q 3 4

Sample 1 Output

Yes
No
Yes

Source/Category

数据结构 2.51.并查集