比赛 板子大赛 评测结果 AAAAAAAAAA
题目名称 亲戚关系 最终得分 100
用户昵称 IMZ 运行时间 0.246 s
代码语言 C++ 内存使用 3.43 MiB
提交时间 2025-01-22 10:24:23
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
int fa[100010];
int find(int a){
    if(fa[a]!=a){
        fa[a]=find(fa[a]);
    }
    return fa[a];
}
int main(){
    freopen("relation.in","r",stdin);
    freopen("relation.out","w",stdout);
    int n,m;
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++){
        fa[i]=i;
    }
    int op,x,y;
    for(int i=1;i<=m;i++){
        scanf("%d%d%d",&op,&x,&y);
        int r1=find(x),r2=find(y);        
        if(op==0){
            if(r1!=r2){
                fa[r1]=r2;
            }
        }
        if(op==1){
            r1=find(x);
            r2=find(y);
            if(r1==r2){
                printf("Yes\n");
            }
            else{
                printf("No\n");
            }
        }
    }
    return 0;
} 
/*
9 10
0 2 4
0 1 3
0 1 2
1 3 4
0 8 9
0 5 6
1 8 5
0 2 3
1 7 6
*/