为何 30 分?
  • 板块P1551 亲戚
  • 楼主Commandant
  • 当前回复3
  • 已保存回复3
  • 发布时间2021/8/28 07:52
  • 上次更新2023/11/4 08:45:45
查看原帖
为何 30 分?
456419
Commandant楼主2021/8/28 07:52

record

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<string>
#include<cstring>
#include<iomanip>
#define IOS ios_base::sync_with_stdio(0); cin.tie(0);

using namespace std;

#define inf 0x3f3f3f3f
#define int long long
#define endl '\n'

int n, m, p;
int fa[5010];

void init() {
	for (int i = 1;i <= n;i++) {
		fa[i] = i;
	}
	return;
}

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

void merge(int x, int y) {
	if (get(x) != get(y)) {
		fa[x] = y;
	}
	return;
}

signed main() {
	IOS;
	cin >> n >> m >> p;
	init();
	for (int i = 1;i <= m;i++) {
		int a, b;
		cin >> a >> b;
		merge(a, b);
	}
	for (int i = 1;i <= p;i++) {
		int a, b;
		cin >> a >> b;
		if (get(a) == get(b)) {
			cout << "Yes" << endl;
		}
		else {
			cout << "No" << endl;
		}
	}
	return 0;
}

//Fununugugu Code
2021/8/28 07:52
加载中...