1121 2022. 03. 04 08:49:23 kideso Sportos nyaralás cpp14 Időlimit túllépés 16/40 1.093s 16192 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()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0); cout.tie(0);

	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 1756 KiB
2 Időlimit túllépés 0/0 1.08s 8468 KiB
3 Elfogadva 1/1 1ms 3252 KiB
4 Elfogadva 1/1 2ms 3256 KiB
5 Elfogadva 1/1 1ms 3260 KiB
6 Elfogadva 1/1 1ms 3272 KiB
7 Elfogadva 1/1 1ms 3276 KiB
8 Elfogadva 1/1 1ms 3280 KiB
9 Elfogadva 1/1 2ms 3300 KiB
10 Elfogadva 1/1 2ms 3456 KiB
11 Elfogadva 2/2 4ms 3584 KiB
12 Elfogadva 2/2 4ms 3604 KiB
13 Elfogadva 2/2 10ms 4600 KiB
14 Elfogadva 2/2 9ms 4488 KiB
15 Időlimit túllépés 0/2 1.07s 6452 KiB
16 Időlimit túllépés 0/2 1.093s 8176 KiB
17 Időlimit túllépés 0/3 1.072s 10004 KiB
18 Időlimit túllépés 0/3 1.07s 10632 KiB
19 Időlimit túllépés 0/2 1.072s 10212 KiB
20 Időlimit túllépés 0/2 1.085s 13208 KiB
21 Időlimit túllépés 0/2 1.093s 14960 KiB
22 Időlimit túllépés 0/2 1.093s 14892 KiB
23 Időlimit túllépés 0/3 1.09s 15808 KiB
24 Időlimit túllépés 0/3 1.072s 16192 KiB