132462025-01-07 10:48:31AblablablaKerékpártúra (50 pont)cpp17Wrong answer 20/50136ms4148 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);
    benne[k] = 1;
    for(int x : scck[tart[k]]){
        if(benne[x]) continue;

        ans.push_back(x);
        benne[x] = 1;

        for(int y : csucsok[x]){
            if(benne[y]) continue;

            ans.push_back(y);
            benne[y] = 1;
        }
    }

    cout << ans.size() << "\n";
    for(int x : ans){
        cout << x + 1 << " ";
    }
    cout << "\n";
}
SubtaskSumTestVerdictTimeMemory
base20/50
1Accepted0/01ms316 KiB
2Wrong answer0/023ms1844 KiB
3Accepted2/21ms316 KiB
4Accepted2/21ms316 KiB
5Accepted2/21ms316 KiB
6Wrong answer0/21ms316 KiB
7Wrong answer0/21ms328 KiB
8Wrong answer0/23ms316 KiB
9Accepted2/23ms316 KiB
10Accepted2/24ms504 KiB
11Wrong answer0/24ms564 KiB
12Wrong answer0/212ms668 KiB
13Wrong answer0/210ms608 KiB
14Wrong answer0/221ms856 KiB
15Wrong answer0/339ms2356 KiB
16Wrong answer0/441ms2468 KiB
17Accepted4/456ms2784 KiB
18Accepted3/350ms2620 KiB
19Accepted3/343ms2496 KiB
20Wrong answer0/3122ms3892 KiB
21Wrong answer0/3136ms3848 KiB
22Wrong answer0/3136ms4148 KiB