1817 2022. 12. 04 08:57:38 sztomi Bürokrácia (40) cpp14 Elfogadva 40/40 23ms 8080 KiB
#include <bits/stdc++.h>

using namespace std;

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(NULL);


    int n;
    cin >> n;
    vector<int> kov(n+1, -1);
    vector<int> be(n+1, 0);
    char tipus;
    int torol;
    for(int i = 1; i <= n; i++){
        cin >> tipus;
        if(tipus == 'V'){
            cin >> torol;
            kov[i] = torol;
            be[torol]++;
        }
    }

    vector<bool> aktiv(n+1, true);
    queue<int> q;
    for(int i = 1; i <= n; i++){
        if(be[i] == 0){
            q.push(i);
        }
    }

    int akt;
    while(!q.empty()){
        akt = q.front();
        q.pop();

        int x = kov[akt];
        if(x != -1){
            if(aktiv[akt]){
                aktiv[x] = false;
            }
            be[x]--;
            if(be[x] == 0){
                q.push(x);
            }
        }
    }
    vector<int> ki;
    for(int i = 1; i <= n; i++){
        if(aktiv[i]){
            ki.push_back(i);
        }
    }
    cout << ki.size() << "\n";
    for(int x : ki){
        cout << x << " ";
    }
    cout << "\n";
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 40/40
1 Elfogadva 0/0 3ms 1824 KiB
2 Elfogadva 1/1 2ms 2064 KiB
3 Elfogadva 1/1 2ms 2224 KiB
4 Elfogadva 1/1 2ms 2492 KiB
5 Elfogadva 1/1 14ms 5944 KiB
6 Elfogadva 1/1 19ms 5104 KiB
7 Elfogadva 1/1 19ms 5256 KiB
8 Elfogadva 2/2 21ms 5504 KiB
9 Elfogadva 2/2 21ms 5712 KiB
10 Elfogadva 2/2 21ms 5708 KiB
11 Elfogadva 2/2 23ms 6044 KiB
12 Elfogadva 2/2 14ms 6888 KiB
13 Elfogadva 2/2 14ms 7208 KiB
14 Elfogadva 2/2 21ms 6660 KiB
15 Elfogadva 2/2 20ms 7404 KiB
16 Elfogadva 2/2 14ms 8080 KiB
17 Elfogadva 2/2 14ms 7648 KiB
18 Elfogadva 2/2 14ms 7656 KiB
19 Elfogadva 2/2 14ms 7600 KiB
20 Elfogadva 2/2 14ms 7736 KiB
21 Elfogadva 2/2 14ms 7752 KiB
22 Elfogadva 2/2 20ms 6820 KiB
23 Elfogadva 4/4 23ms 6940 KiB