测评地址: https://www.luogu.org/problemnew/show/P3367
通过时间: 2019.5.7
评测详情: https://www.luogu.org/recordnew/show/18842805
用时: 773ms / 内存: 788KB
#include<iostream>
#include<cstdio>
using namespace std;
int i,j,n,m,f[10010],cmd,x,y;
//若f(x)=y,则y是x的老大
int find(int k){
if(f[k]==k) return k;
else return f[k]=find(f[k]);
}
int main(){
cin>>n>>m;//n元素,m操作
for(i=1;i<=n;i++) f[i]=i;
for(i=1;i<=m;i++){
cin>>cmd>>x>>y;
if(cmd==1)
f[find(x)]=find(y);
if(cmd==2){
if(find(x)==find(y)) printf("Y\n");
else printf("N\n");
}
}
return 0;
}