1120 2022. 03. 04 08:48:17 kideso Sportos nyaralás cpp14 Időlimit túllépés 16/40 1.09s 19860 KiB
#include <iostream>
#include <vector>
#include <queue>

using namespace std;

vector<vector<int> > p, z;
vector<int> pk, zk, ans;
vector<bool> lp, lz;
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()
{
	cin >> N >> P >> Z;

	p.resize(N + 1), z.resize(N + 1);
	pk.resize(N + 1), zk.resize(N + 1), ans.resize(N + 1);
    lz.resize(N+1,false), lp.resize(N+1,false);

	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 2ms 1740 KiB
2 Időlimit túllépés 0/0 1.069s 8524 KiB
3 Elfogadva 1/1 1ms 3264 KiB
4 Elfogadva 1/1 1ms 3264 KiB
5 Elfogadva 1/1 1ms 3268 KiB
6 Elfogadva 1/1 1ms 3276 KiB
7 Elfogadva 1/1 1ms 3288 KiB
8 Elfogadva 1/1 1ms 3288 KiB
9 Elfogadva 1/1 1ms 3288 KiB
10 Elfogadva 1/1 4ms 3356 KiB
11 Elfogadva 2/2 6ms 3600 KiB
12 Elfogadva 2/2 4ms 3588 KiB
13 Elfogadva 2/2 17ms 4480 KiB
14 Elfogadva 2/2 16ms 4332 KiB
15 Időlimit túllépés 0/2 1.069s 6476 KiB
16 Időlimit túllépés 0/2 1.09s 8256 KiB
17 Időlimit túllépés 0/3 1.044s 9912 KiB
18 Időlimit túllépés 0/3 1.021s 9244 KiB
19 Időlimit túllépés 0/2 1.041s 8648 KiB
20 Időlimit túllépés 0/2 1.042s 11500 KiB
21 Időlimit túllépés 0/2 1.059s 13604 KiB
22 Időlimit túllépés 0/2 1.074s 14400 KiB
23 Időlimit túllépés 0/3 1.082s 17024 KiB
24 Időlimit túllépés 0/3 1.082s 19860 KiB