菜鸟刚学并查集懵逼了RE+WA求助qaq
查看原帖
菜鸟刚学并查集懵逼了RE+WA求助qaq
298549
SIXIANG32楼主2020/5/8 21:09
#include<iostream>
using namespace std;
int fa[100000];
int Find(int x)
{
	if(fa[x]==x)return x;
	else fa[x]=Find(fa[x]);
} 
void Union(int u,int v)
{
	int a=Find(u),b=Find(v);
	if(a!=b)fa[a]=b;
}
int main()
{
	int n,m,a,b,a1,a2,a3;
	cin>>n>>m;
	cout<<n<<' '<<m<<endl;
	for(int p=1;p<=n;p++)fa[p]=p;
	for(int p=1;p<=m;p++)
	{
		cin>>a1>>a2>>a3;
		if(a1==1)
			Union(a2,a3);
		if(a1==2)
			if(Find(a2)==Find(a3))cout<<"Y"<<endl;
			else cout<<"N"<<endl;
	}
	return 0;
}

菜鸟才学并查集,感觉也没有会RE的地方啊,思路也不是很难懂为什么WA了呢?肯定是我太菜了,根据书本打的,求助大佬QAQ

2020/5/8 21:09
加载中...