很奇怪的问题,注释那里不加大括号就全wa,求解释
查看原帖
很奇怪的问题,注释那里不加大括号就全wa,求解释
1330072
Relisc楼主2024/7/5 17:34
#include <bits/stdc++.h>
using namespace std;
const int N=1e6;
int fa[N]; 
int n,m; 

//查找父节点 
int find(int x)
{
	if(fa[x] != x)	fa[x]=find(fa[x]);
	return 	fa[x];
}

//路径压缩


int main(){

	cin>>n>>m;
	//并查集初始化 
	for(int i=1;i<=n;i++)	fa[i]=i;
	

	while(m--)
	{
		int w,u,v;
		cin>>w>>u>>v;
		//路径压缩,为什么这里不加大括号会wa?
		if(w == 1)
		{
			  if(find(u) != find(v))	fa[find(u)]=find(v);
		}

		else if(w == 2)
		{
			if( find(u) == find(v) )	cout<<"Y"<<endl;
			else cout<<"N"<<endl;
		}
	}
	return 0;
}

2024/7/5 17:34
加载中...