class="markdown_views prism-atom-one-light">
分析
其实就是洛谷3366降低了点层次
kruskal模板
代码
#include
using namespace std;
int fat[10001],n,m;
int father(int x){
if (fat[x]==x) return x;
else return fat[x]=father(fat[x]);
}
bool un(bool z,int x,int y){
int fa=father(x);
int fb=father(y);
if (fa!=fb){
if (z) fat[fb]=fa;
return 0;
} return 1;
}
int main(){
scanf("%d%d",&n,&m);
for (int i=1;i<=n;i++) fat[i]=i;
for (int i=1;i<=m;i++){
int z,x,y;
scanf("%d%d%d",&z,&x,&y);
if (z==1) un(1,x,y);
else if (un(0,x,y)) putchar('Y');
else putchar('N');
if (z==2)putchar('
');
}
return 0;
}