#include<bits/stdc++.h>
using namespace std;
int n,m;
int fa[20010];
int find(int x){
if(fa[x]!=x) fa[x]=find(fa[x]);
return fa[x];
}
void unionn(int r1,int r2){
fa[r2]=r1;
}
int main(){
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++) fa[i]=i;
for(int i=1;i<=m;i++){
int z,x,y;
scanf("%d",&z,&x,&y);
if(z==1){
int r1=find(x);
int r2=find(y);
if(r1!=r2) unionn(r1,r2);
}
if(z==2)
if(find(x)==find(y)) printf("Y\n");
else printf("N\n");
}
return 0;
}
哪位dalao帮我查查错……