20求助
查看原帖
20求助
1112575
with_my_moon楼主2024/7/4 22:46
#include <bits/stdc++.h>
using namespace std;	

long long n,m;
long long f[20086];

void nb(){
	for(int i=1;i<=n;i++){
		f[i]=i;
	}
}

int find(int x){
    if(x!=f[x]) f[x]=find(f[x]);
    return f[x];
}


int main(){
	cin>>n>>m;
	nb();
	long long a1,b1,c1;
	for(int i=1;i<=m;i++){
		cin>>a1>>b1>>c1;
		if(a1==1){
			f[b1]=min(find(b1),find(c1));
			f[c1]=min(find(b1),find(c1));
		}
		else{
			if(find(b1)==find(c1)) cout<<"Y"<<endl;
			else cout<<"N"<<endl;
		}
	}
}
2024/7/4 22:46
加载中...