并查集
来源:互联网 发布:linux ntp服务器 源码 编辑:程序博客网 时间:2024/06/15 09:39
#include<cstdio>
const int N=10005;
int p[N],n,m,x,y,z,fx,fy;
int find(int X) {return X==p[X]?X:p[X]=find(p[X]);}
int main()
{
scanf("%d%d",&n,&m);
for (int i=1;i<=n;i++) p[i]=i;
for (;m--;)
{
scanf("%d%d%d",&z,&x,&y);
fx=find(x);fy=find(y);
if (z==1) p[fx]=fy;
else {if (fx^fy) printf("N\n");else printf("Y\n");}
}
}
const int N=10005;
int p[N],n,m,x,y,z,fx,fy;
int find(int X) {return X==p[X]?X:p[X]=find(p[X]);}
int main()
{
scanf("%d%d",&n,&m);
for (int i=1;i<=n;i++) p[i]=i;
for (;m--;)
{
scanf("%d%d%d",&z,&x,&y);
fx=find(x);fy=find(y);
if (z==1) p[fx]=fy;
else {if (fx^fy) printf("N\n");else printf("Y\n");}
}
}
0 0