题目

P3367 【模板】并查集

思路

并查集板子

不会的可以看看我的这篇博客

Code

#include<iostream>
#include<cstring>
#include<string>
#include<cstdio>
#include<algorithm>
#define MAXN 10001
using namespace std;
int n,m;
int fa[MAXN];
int find(int x){
    return fa[x]==x?x:fa[x]=find(fa[x]);
}
inline int read(){
    int x=0;bool f=0;char c=getchar();
    while(c<'0'||c>'9'){if(c=='-')f=!f;c=getchar();}
    while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}
    return f?-x:x;
}

int main(){
    n=read(),m=read();
    for(int i=1;i<=n;++i){
        fa[i]=i;
    }
    for(int i=1,opt,x,y;i<=m;++i){
        opt=read(),x=read(),y=read();
        if(opt==1) fa[find(x)]=find(y);
        else{
            if(find(x)==find(y)) printf("Y\n");
            else printf("N\n");
        }
    }
    return 0;
}

相关文章:

  • 2021-08-12
  • 2018-07-16
  • 2021-12-14
  • 2021-12-22
  • 2022-12-23
  • 2022-12-23
  • 2021-04-12
  • 2022-02-16
猜你喜欢
  • 2022-01-15
  • 2022-12-23
  • 2019-07-21
  • 2021-10-15
  • 2021-10-10
相关资源
相似解决方案