【题目来源】
【模板】并查集 - 洛谷
【分析】
#并查集
【代码】
#include<iostream> #include<cstdio> #include<algorithm> #define ll long long using namespace std; const int N=1e4+5; int n,m; int f[N]; int findf(int x){ return x==f[x]?x:f[x]=findf(f[x]); } int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=n;i++){ f[i]=i; } for(int i=1;i<=m;i++){ int sgn,x,y; scanf("%d%d%d",&sgn,&x,&y); if(sgn==1){ f[findf(x)]=findf(y); }else if(findf(x)==findf(y)){ puts("Y"); }else{ puts("N"); } } return 0; }