并查集站外题 奆佬求助
  • 板块学术版
  • 楼主_sh1kong_
  • 当前回复5
  • 已保存回复5
  • 发布时间2022/12/29 10:27
  • 上次更新2023/10/24 06:15:22
查看原帖
并查集站外题 奆佬求助
823773
_sh1kong_楼主2022/12/29 10:27

RT,洛谷的这道题我的程序跑的挺快的,AC记录,但是这道题将代码改一下就T了4个点,有奆佬能帮忙看看嘛

#include <iostream>
#include <cstring>

const int N = 200010;

using namespace std;

int n,m,opt,x,y,T;
int fa[N];

int find(int x)
{
	if(x!=fa[x]) fa[x]=find(fa[x]);
	return fa[x];
}

void Union(int x,int y)
{
	int a=find(x);
	int b=find(y);
	if(a!=b) fa[b]=a;	
}


int main()
{
	cin >> n >> m;
	for (int i=1;i<=n;i++) fa[i]=i;
	for (int i=1;i<=m;i++)
	{
		cin >> x >> y;
		Union(x,y);	
	}
	cin >> T;
	for (int i=1;i<=T;i++)
	{
		cin >> x >> y;
		int a=find(x);
		int b=find(y);
		if(a==b) cout << "Yes" << endl;
		else cout <<"No" << endl;
	}
}
2022/12/29 10:27
加载中...