并查集
模板:
#include<bits/stdc++.h>
using namespace std;
int dsu[10010];
int n,m,a,b,op;
void init(){
for(int i=0;i<=n;i++){
dsu[i]=i;
}
}
int find(int x){ //查
if(dsu[x]==x){
return x;
}
return dsu[x]=find(dsu[x]);
}
void merge(int a,int b){ //并
dsu[find(a)]=find(b);
}
int main(){
cin>>n>>m;
init();
for(int i=0;i<m;i++){
cin>>op>>a>>b;
if(op==1){
merge(a,b);
}else{
if(find(a)==find(b)){
cout<<"Y"<<endl;
}else{
cout<<"N"<<endl;
}
}
}
return 0;
}