有没有大犇帮忙看一下并查集代码
  • 板块灌水区
  • 楼主df_0
  • 当前回复5
  • 已保存回复5
  • 发布时间2023/10/13 23:37
  • 上次更新2023/11/2 14:00:23
查看原帖
有没有大犇帮忙看一下并查集代码
709043
df_0楼主2023/10/13 23:37
#include<bits/stdc++.h>
using namespace std;
long long n,m;
long long parent[100001];
void init(){
	for(int i=0;i<n;i++){
		parent[i]=i;
	}
}
int find(int x)
{
	if(x==parent[x])
		return x;
	return find(parent[x]);
}
bool is_same(int e1, int e2)
{
   return find(e1) == find(e2);
}
void add(int a,int b){
	if(find(a)==find(b)) return;
	parent[find(a)]=find(b);
}
int main(){
	cin>>n>>m;
	init();
	while(m--){
		int t,a,b;
		cin>>t>>a>>b;
		if(t==1){
		add(a,b);	
		}
		else{
			if(is_same(a,b))
				cout<<"Y"<<endl;
			else
				cout<<"N"<<endl;
		}
	}	
}
2023/10/13 23:37
加载中...