70分RE求调
查看原帖
70分RE求调
1284346
xd2304楼主2024/8/18 09:06
#include<bits/stdc++.h>
#define MAXN 5010
using namespace std;
int n,m,x,y,z;
int fa[MAXN];

int find(int x){
	if(x==fa[x])return x;
	return fa[x]=find(fa[x]);
}
void join(int c1,int c2){
	int f1=find(c1),f2=find(c2);
	if(f1!=f2)fa[f1]=f2;
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		fa[i]=i;
	}
	for(int i=0;i<m;i++){
		cin>>z>>x>>y;
		if(z==1){
			join(x,y);
		}else{
			if(find(x)==find(y)){
				cout<<"Y"<<endl;
			}else{
				cout<<"N"<<endl;
			}
		}
	}
	return 0;
}
2024/8/18 09:06
加载中...