132612025-01-07 11:12:37AblablablaKerékpártúra (50 pont)cpp17Accepted 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";
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/023ms1844 KiB
3Accepted2/21ms508 KiB
4Accepted2/21ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms316 KiB
7Accepted2/21ms316 KiB
8Accepted2/23ms380 KiB
9Accepted2/23ms316 KiB
10Accepted2/24ms548 KiB
11Accepted2/24ms564 KiB
12Accepted2/212ms588 KiB
13Accepted2/212ms776 KiB
14Accepted2/221ms956 KiB
15Accepted3/337ms2124 KiB
16Accepted4/441ms2336 KiB
17Accepted4/457ms2844 KiB
18Accepted3/350ms2612 KiB
19Accepted3/343ms2580 KiB
20Accepted3/3122ms3928 KiB
21Accepted3/3136ms4016 KiB
22Accepted3/3138ms4048 KiB