1122 2022. 03. 04 10:19:44 kideso Sportos nyaralás cpp14 Időlimit túllépés 16/40 1.092s 21356 KiB
#include <iostream>
#include <vector>
#include <queue>

using namespace std;

const int n = 50000;
vector<int> p[n + 1], z[n + 1];
int pk[n + 1], zk[n + 1], ans[n + 1];
bool lp[n + 1], lz[n + 1];
int N, P, Z;

void szelp(int kp, int s) {
	queue<int> y;
	lp[kp] = true;
	pk[kp] = s;
	y.push(kp);

	while (!y.empty()) {
		int csp = y.front();
		y.pop();

		for (auto e : p[csp])
			if (!lp[e]) {
				lp[e] = true;
				pk[e] = s;
				y.push(e);
			}
	}
}
void szelz(int kp, int s) {
	queue<int> y;
	lz[kp] = true;
	zk[kp] = s;
	y.push(kp);

	while (!y.empty()) {
		int csp = y.front();
		y.pop();

		for (auto e : z[csp])
			if (!lz[e]) {
				lz[e] = true;
				zk[e] = s;
				y.push(e);
			}
	}
}

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(0); cout.tie(0);

	cin >> N >> P >> Z;

	for (int i = 1; i <= P; ++i) {
		int a, b;
		cin >> a >> b;
		p[a].push_back(b), p[b].push_back(a);
	}

	for (int i = 1; i <= Z; ++i) {
		int a, b;
		cin >> a >> b;
		z[a].push_back(b), z[b].push_back(a);
	}

	int ps = 1, zs = 1;
	for (int i = 1; i <= N; ++i) {
		if (!lp[i]) {
			szelp(i, ps);
			++ps;
		}

		if (!lz[i]) {
			szelz(i, zs);
			++zs;
		}
	}

	for (int i = 1; i <= N; ++i)
		for (int j = 1; j <= N; ++j)
			if (i != j && pk[i] * pk[j] != 0 && zk[i] * zk[j] != 0) {
				if (pk[i] == pk[j] && zk[i] == zk[j]) ++ans[i];
			}

	for (int i = 1; i <= N; ++i)
		cout << ans[i] << ' ';

	return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 16/40
1 Elfogadva 0/0 4ms 6532 KiB
2 Időlimit túllépés 0/0 1.003s 8512 KiB
3 Elfogadva 1/1 3ms 8008 KiB
4 Elfogadva 1/1 3ms 8020 KiB
5 Elfogadva 1/1 3ms 8016 KiB
6 Elfogadva 1/1 3ms 8020 KiB
7 Elfogadva 1/1 3ms 8028 KiB
8 Elfogadva 1/1 3ms 8032 KiB
9 Elfogadva 1/1 3ms 8052 KiB
10 Elfogadva 1/1 4ms 8124 KiB
11 Elfogadva 2/2 6ms 8188 KiB
12 Elfogadva 2/2 4ms 8272 KiB
13 Elfogadva 2/2 12ms 9192 KiB
14 Elfogadva 2/2 10ms 9160 KiB
15 Időlimit túllépés 0/2 1.006s 7456 KiB
16 Időlimit túllépés 0/2 1.092s 8652 KiB
17 Időlimit túllépés 0/3 1.09s 9928 KiB
18 Időlimit túllépés 0/3 1.031s 10736 KiB
19 Időlimit túllépés 0/2 1.044s 11108 KiB
20 Időlimit túllépés 0/2 1.08s 13452 KiB
21 Időlimit túllépés 0/2 1.049s 15076 KiB
22 Időlimit túllépés 0/2 1.065s 15836 KiB
23 Időlimit túllépés 0/3 1.085s 18624 KiB
24 Időlimit túllépés 0/3 1.092s 21356 KiB