并查集

#include<bits/stdc++.h>
#define ri register int
#define ll long long
#define fast ios::sync_with_stdio(0), cin.tie(0), cout.tie(0)
using namespace std;
const inline int read(){
    int k = 0, f = 1; char c = getchar();
    for(;!isdigit(c); c = getchar())
        if(c == '-') f = -1;
    for(;isdigit(c); c = getchar())
        k = k * 10 + c - '0';
    return k * f;
}
int n, m, f[10005];
int find(int x){
    if(x == f[x]) return x;
    return f[x] = find(f[x]);//路径压缩 
}
int main(){
    n = read(), m = read();
    for(ri i = 1; i <= n; ++i)
        f[i] = i;
    for(ri i = 1; i <= m; ++i){
        ri z, x, y;
        z = read(), x = read(), y = read();
        int a = find(x), b = find(y);
        if(z == 1)
            f[a] = b;//合并 
        else{
            if(a == b)
                printf("Y\n");
            else
                printf("N\n");
        }
    }
    return 0;
}

 

原文链接: https://www.cnblogs.com/kojoker/p/12574458.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    并查集

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/337988

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月1日 下午11:23
下一篇 2023年3月1日 下午11:23

相关推荐