#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
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!