132512025-01-07 10:56:33AblablablaKerékpártúra (50 pont)cpp17Wrong answer 35/50141ms4028 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(benne[x]) continue;

        if(x != k){
            ans.push_back(x);
        }
        benne[x] = 1;

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

            if(y != k){
                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
base35/50
1Accepted0/01ms496 KiB
2Accepted0/023ms1728 KiB
3Accepted2/21ms508 KiB
4Accepted2/21ms316 KiB
5Wrong answer0/21ms316 KiB
6Wrong answer0/21ms316 KiB
7Accepted2/21ms316 KiB
8Accepted2/23ms348 KiB
9Accepted2/23ms316 KiB
10Accepted2/24ms428 KiB
11Wrong answer0/24ms380 KiB
12Wrong answer0/212ms652 KiB
13Accepted2/212ms608 KiB
14Accepted2/221ms1000 KiB
15Wrong answer0/337ms2360 KiB
16Wrong answer0/441ms2304 KiB
17Accepted4/457ms2836 KiB
18Accepted3/350ms2708 KiB
19Accepted3/343ms2608 KiB
20Accepted3/3120ms3896 KiB
21Accepted3/3137ms4028 KiB
22Accepted3/3141ms3976 KiB