132612025-01-07 11:12:37AblablablaKerékpártúra (50 pont)cpp17Elfogadva 50/50138ms4048 KiB
#include <bits/stdc++.h>

using namespace std;

vector<int> sor, tart;
vector<bool> bejart;
vector<vector<int>> csucsok, visszaCsucsok, scck;

void dfs(int akt){
    bejart[akt] = 1;

    for(int x : csucsok[akt]){
        if(bejart[x]) continue;

        dfs(x);
    }

    sor.push_back(akt);
}

void bejar(int akt){
    tart[akt] = scck.size() - 1;
    scck.back().push_back(akt);
    bejart[akt] = 1;

    for(int x : visszaCsucsok[akt]){
        if(bejart[x]) continue;

        bejar(x);
    }
}
int main()
{
    int n, m, k;
    cin >> n >> m >> k;
    k--;

    csucsok.assign(n, vector<int>());
    visszaCsucsok.assign(n, vector<int>());
    for(int i = 0; i < m; i++){
        int a, b;
        cin >> a >> b;
        a--; b--;

        csucsok[a].push_back(b);
        visszaCsucsok[b].push_back(a);
    }

    bejart.assign(n, 0);
    dfs(k);

    reverse(sor.begin(), sor.end());
    bejart.assign(n, 0);
    tart.assign(n, -1);

    for(int x : sor){
        if(bejart[x]) continue;

        scck.push_back(vector<int>());
        bejar(x);
    }

    vector<int> ans;
    vector<bool> benne(n);
    for(int x : scck[tart[k]]){
        if(x != k && !benne[x]){
            ans.push_back(x);
            benne[x] = 1;
        }

        for(int y : csucsok[x]){
            if(y != k && !benne[y]){
                ans.push_back(y);
                benne[y] = 1;
            }
        }
    }

    sort(ans.begin(), ans.end());

    cout << ans.size() << "\n";
    for(int x : ans){
        cout << x + 1 << " ";
    }
    cout << "\n";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/023ms1844 KiB
3Elfogadva2/21ms508 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/23ms380 KiB
9Elfogadva2/23ms316 KiB
10Elfogadva2/24ms548 KiB
11Elfogadva2/24ms564 KiB
12Elfogadva2/212ms588 KiB
13Elfogadva2/212ms776 KiB
14Elfogadva2/221ms956 KiB
15Elfogadva3/337ms2124 KiB
16Elfogadva4/441ms2336 KiB
17Elfogadva4/457ms2844 KiB
18Elfogadva3/350ms2612 KiB
19Elfogadva3/343ms2580 KiB
20Elfogadva3/3122ms3928 KiB
21Elfogadva3/3136ms4016 KiB
22Elfogadva3/3138ms4048 KiB