【悬关+叫爸爸】并查集十个点RE
查看原帖
【悬关+叫爸爸】并查集十个点RE
794146
SCma楼主2024/1/29 09:05

我的代码

#include<bits/stdc++.h>
#define MIN(a,b,c) min(min(a,b),c)
#define MAX(a,b,c) max(max(a,b),c)
#define ri register int
#define int long long
#define fixedset(a) fixed << setprecision(a)
#define MAXN 0x3f3f3f3f3f
#define inf 211451
#define mf 5011
#define sf 1011
using namespace std;
int z,x,y,n,m,father[inf];
int find(int a){
	if(father[a]==a) return a;
	else return father[a]=find(father[a]);
}
int merge(int a,int b){father[find(a)]=find(b);}
signed main(){
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	//freopen(".in","r",stdin);
   	//freopen(".out","w",stdout);
    
	cin >>n>>m;
	for(ri i=1;i<=n;i++) father[i]=i;
	
	while(m--){
		cin >> z >> x >> y;
		
		if(z==1) merge(x,y);
		else if(z==2 && find(x)==find(y)) cout << "Y" << endl;
		else cout << "N" << endl;
	}
	
	return 0;
}

求教

2024/1/29 09:05
加载中...