并查集

#include<queue>
#include<cstdio>
#include<iostream>
#include<algorithm>
#define il inline
#define ri register
#define pc(i) putchar(i)
using namespace std;
const int N=1e4+2; 
int fa[N],n,m;
il int read()
{
	int as=0,f=1;char ch=getchar();
	while(ch<'0'||ch>'9') {if(ch=='-')f=-1;ch=getchar();}
	while(ch>='0'&&ch<='9') as=(as<<3)+(as<<1)+(ch^48),ch=getchar();return as*f;
}
il void wt(int x){if(x<0)pc('-'),x=-x;if(x>9)wt(x/10);pc(x%10+48);}
il int F(const int x){if(fa[x]==x) return x;return fa[x]=F(fa[x]);}
int main()
{
	n=read(),m=read();
	for(ri int i=1;i<=n;++i) fa[i]=i;
	for(ri int i=1,op,x,y;i<=m;++i)
	{
		op=read(),x=read(),y=read();
		if(op==1) fa[F(x)]=F(y);
		else puts(F(x)==F(y)?"Y":"N");	
	}
	return 0;
 } 
  

  

posted @ 2022-10-15 19:15  Bertidurlah  阅读(20)  评论(1)    收藏  举报