今天的题目就只是版得不能再版并查集了, 至于我为什么会打呢 因为我的并查集实在是太过于惨不忍睹了,淦!
洛谷 P3367 【模板】并查集
题目
这个名字就告诉我们这是一道水题
附一个我很喜欢的并查集博客的链接
下附笔者自己重新打的代码
#include <cstdio>
const int maxn = 10005;
int a[maxn];
int m, n;
int find_father(int x){
if(a[x] != x){
a[x] = find_father(a[x]);
}
return a[x];
}
void join(int x, int y){
int x_gen = find_father(x), y_gen = find_father(y);
if(x_gen != y_gen){
a[y_gen] = x_gen;
}
}
int main() {
scanf("%d %d", &n, &m);
int i_a, i_b, i_c;
for(int i = 1; i <= n; i ++){
a[i] = i;
}
for(int i = 1; i <= m; i ++){
scanf("%d %d %d", &i_a, &i_b, &i_c);
if(i_a == 2){
if(find_father(a[i_b]) != find_father(a[i_c]))printf("N\n");
else printf("Y\n");
}
else{
join(i_b, i_c);
}
}
return 0;
}