0
点赞
收藏
分享

微信扫一扫

并查集模板

小贴贴纸happy 2022-01-31 阅读 22
c++
#include<bits/stdc++.h>
using namespace std;
int n,m;
int z,x,y;
int a[1000000];
int find(int k){
	if(a[k] == k){
		return k;
	}else{
		return a[k] = find(a[k]);
	}
}
int main(){
	cin >> n >> m;
	for(int i = 1;i <= n;i++){
		a[i] = i;
	}
	for(int i = 1;i <= m;i++){
		cin >> z >> x >> y;
		if(z == 2){
			if(find(x) == find(y)){
				cout << "Y" << endl;
			}else{
				cout << "N" << endl;
			}
		}else{
			a[find(y)] = find(x);
		}
	}
	return 0;
}
举报

相关推荐

0 条评论