社区讨论

50pts,RE求条(玄小号1关)

P3367【模板】并查集参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@mhj0y5va
此快照首次捕获于
2025/11/03 18:56
4 个月前
此快照最后确认于
2025/11/03 18:56
4 个月前
查看原帖
你说得对,但是这就是小号,大号(1287677)因为发无意义qp被禁言了,所以玄关就是玄这个号的。
CPP
#include<bits/stdc++.h>
using namespace std;
const int N=1e4+5; 
int fa[N];
int n,m;
void init()
{
	for(int i=1;i<=n;i++) fa[i]=i;
	return;
} 
int fr(int x)
{
	if(fa[x]==x) return x; 
	return fa[x]=fr(fa[x]); 
} 
void merge(int x,int y)
{
	int fx=fr(x);
	int fy=fr(y);
	if(fx==fy) return;
	if(fx<fy) swap(fx,fy); 
	fa[fx]=fy;
	return; 
} 
int main()
{
	int op,i,u,v;
	scanf("%d%d",&n,&m);
	init();
	for(i=1;i<=m;i++)
	{
		scanf("%d%d%d",&op,&u,&v);
		if(op==1)
		{
			merge(u,v); 
		} 
		else
		{
			u=fr(u);
			v=fr(v);
			printf(u==v?"Y\n":"N\n"); 
		}
	}
	return 0;
}

回复

2 条回复,欢迎继续交流。

正在加载回复...