208282026-01-09 16:30:25LllamaKerékpártúra (50 pont)cpp17Elfogadva 50/50135ms5344 KiB
#include <iostream>
#include <vector>
using namespace std;

vector<vector<int>> gro;
vector<vector<int>> grv;
vector<bool> vis;
vector<pair<int, int>> elek;
vector<bool> enged;

void dfs(int v) {
    vis[v] = true;
    for (int u : gro[v]) {
        if (!vis[u]) dfs(u);
    }
}

void engeddfs(int v) {
    vis[v] = true;
    for (int u : gro[v]) {
        if (!enged[u]) continue;
        if (!vis[u]) engeddfs(u);
    }
}

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

    gro.resize(n);
    grv.resize(n);

    for (int i = 0; i < m; i++) {
        int u, v;
        cin >> u >> v;
        u--; v--;
        gro[u].push_back(v);
        grv[v].push_back(u);
        elek.push_back({ u, v });
    }

    // K-ból elérhetõ
    vis.assign(n, 0);
    dfs(k);
    vector<bool> oda = vis;

    // Visszajutás
    swap(gro, grv);
    vis.assign(n, 0);
    dfs(k);
    vector<bool> vissza = vis;
    swap(gro, grv);

    enged = vissza;
    vis.assign(n, 0);
    if (enged[k]) engeddfs(k);

    vector<bool> jok = vis;
    vector<int> celok(n, 0);


    for (int i = 0; i < n; i++) {
        if (i != k && jok[i] && oda[i]) celok[i] = 1;
    }

    for (auto e : elek) {
        int u = e.first;
        int v = e.second;
        if (v != k && jok[u] && !vissza[v]) celok[v] = 1;
    }


    vector<int> ans;
    for (int i = 0; i < n; i++) {
        if (celok[i]) ans.push_back(i + 1);
    }

    if (ans.empty()) cout << 0;
    else {
        cout << ans.size() << '\n';
        for (int x : ans) cout << x << ' ';
    }

}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/02ms316 KiB
2Elfogadva0/020ms1708 KiB
3Elfogadva2/22ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/23ms484 KiB
9Elfogadva2/23ms484 KiB
10Elfogadva2/24ms516 KiB
11Elfogadva2/24ms564 KiB
12Elfogadva2/212ms964 KiB
13Elfogadva2/210ms852 KiB
14Elfogadva2/220ms1428 KiB
15Elfogadva3/335ms2424 KiB
16Elfogadva4/437ms2628 KiB
17Elfogadva4/452ms3136 KiB
18Elfogadva3/348ms3028 KiB
19Elfogadva3/341ms2592 KiB
20Elfogadva3/3118ms5108 KiB
21Elfogadva3/3133ms5280 KiB
22Elfogadva3/3135ms5344 KiB