玄关,拜谢
查看原帖
玄关,拜谢
730884
uua___楼主2024/5/12 14:55

RT

#include<bits/stdc++.h>
using namespace std;
int father[500000];

int find(int x)
{
	if(father[x]!=x) return find(father[x]);
	else return x;
}
void unionn(int r1,int r2)
{
	father[r2]=r1;
}

int main()
{
int n,m,i,x,y;cin>>n>>m;

	int z;
for(i=1;i<=n;i++)
{
	father[i]=i;
}
for(i=1;i<=m;i++)
{
	cin>>z>>x>>y;
	int r1=find(x);
	int r2=find(y);
	if(z==1) unionn(r1,r2);

		if(z==2)
		{
			if(find(x)==find(y))
		{
			cout<<"Y"<<endl;
		}
		else
		{
			cout<<"N"<<endl;
		}
		}
	
}		

	return 0;
}//TLE!!!!!!
2024/5/12 14:55
加载中...