| 比赛 | 
    板子大赛 | 
    评测结果 | 
    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
*/