(求助)P1551DALAO求教
  • 板块灌水区
  • 楼主小小小蒟蒻
  • 当前回复3
  • 已保存回复3
  • 发布时间2021/6/20 21:05
  • 上次更新2023/11/4 21:39:51
查看原帖
(求助)P1551DALAO求教
333990
小小小蒟蒻楼主2021/6/20 21:05
#include<bits/stdc++.h>
using namespace std;
int fa[5005];
int n, m, p;
int x, y;
int find(int x)
{
	if(fa[x] == 0)
		return x;
	return find(fa[x]);
}
void add(int x, int y)
{
	fa[x] = y;
	if(find(x) == find(y))
		return ;
}
int main()
{
	scanf("%d%d%d", &n, &m, &p);
	for(int i = 1;i <= 2 * n;i++)
		fa[i] = i;
	for(int i = 1;i <= n;i++)
	{
		scanf("%d%d", &x, &y);
		add(x, y);
	}
	while(p--)
	{
		scanf("%d%d", &x, &y);
		if(find(x) == find(y))
			printf("YES\n");
		else
			printf("NO\n");
	}
	return 0;
}

求大佬检查问题QAQ

2021/6/20 21:05
加载中...