#include<bits/stdc++.h>
using namespace std;
int n,m;
int z,x,y;
int a[1000000];
int find(int k){
if(a[k] == k){
return k;
}else{
return a[k] = find(a[k]);
}
}
int main(){
cin >> n >> m;
for(int i = 1;i <= n;i++){
a[i] = i;
}
for(int i = 1;i <= m;i++){
cin >> z >> x >> y;
if(z == 2){
if(find(x) == find(y)){
cout << "Y" << endl;
}else{
cout << "N" << endl;
}
}else{
a[find(y)] = find(x);
}
}
return 0;
}
相关文章
- 11-12sort和uniq求两个文件的并集,交集和差集
- 11-12[并查集] POJ 1182 食物链
- 11-12高级数据结构(一)----并查集
- 11-12L3-003 社交集群 [并查集]
- 11-12pyf的愿望(虚拟0点+并查集+最小生成树)
- 11-12Codeforces Round #541 (Div. 2) F、Asya And Kittens||并查集
- 11-12#1198:Farm Irrigation(DFS + 并查集)
- 11-12C. Peaceful Rooks(图论,并查集)
- 11-12【占位】HihoCoder 1160 : 攻城略地(并查集好题)
- 11-12Codeforces Round #692 (Div. 2)C. Peaceful Rooks(并查集求环数)