132512025-01-07 10:56:33AblablablaKerékpártúra (50 pont)cpp17Hibás válasz 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";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base35/50
1Elfogadva0/01ms496 KiB
2Elfogadva0/023ms1728 KiB
3Elfogadva2/21ms508 KiB
4Elfogadva2/21ms316 KiB
5Hibás válasz0/21ms316 KiB
6Hibás válasz0/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/23ms348 KiB
9Elfogadva2/23ms316 KiB
10Elfogadva2/24ms428 KiB
11Hibás válasz0/24ms380 KiB
12Hibás válasz0/212ms652 KiB
13Elfogadva2/212ms608 KiB
14Elfogadva2/221ms1000 KiB
15Hibás válasz0/337ms2360 KiB
16Hibás válasz0/441ms2304 KiB
17Elfogadva4/457ms2836 KiB
18Elfogadva3/350ms2708 KiB
19Elfogadva3/343ms2608 KiB
20Elfogadva3/3120ms3896 KiB
21Elfogadva3/3137ms4028 KiB
22Elfogadva3/3141ms3976 KiB