137202025-01-08 14:04:24gyjazminKerékpártúra (50 pont)cpp17Időlimit túllépés 41/50500ms4260 KiB
#include <vector>
#include <iostream>
using namespace std;
int main()
{
    int n, m, k;
    cin >> n >> m >> k;
    vector<vector<int>> innen(n + 1);
    vector<vector<int>> ide(n + 1);
    for (int i = 0; i < m; i++) {
        int e, m;
        cin >> e >> m;
        innen[e].push_back(m);
        ide[m].push_back(e);
    }
    vector<int> valasz = innen[k];
    vector<int> vizsg = ide[k];
    vector<bool> vvolt(n + 1);
    vector<bool> volt(n + 1);
    for (int x : valasz) volt[x] = true;
    volt[k] = true;
    while (vizsg.size() != 0) {
        vvolt[vizsg[0]] = true;
        for (int x : innen[vizsg[0]]) {
            if (!volt[x]) {
                valasz.push_back(x);
                volt[x] = true;
            }
        }
        for (int x : ide[vizsg[0]]) {
            if (!vvolt[x]) {                
                vizsg.push_back(x);
            }
        }
        vizsg.erase(vizsg.begin());
    }
    cout << valasz.size() << endl;
    for (int x : valasz) cout << x << " ";
}

RészfeladatÖsszpontTesztVerdiktIdőMemória
base41/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/023ms1332 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms500 KiB
5Elfogadva2/21ms388 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/23ms500 KiB
9Elfogadva2/23ms316 KiB
10Elfogadva2/24ms500 KiB
11Elfogadva2/24ms316 KiB
12Elfogadva2/212ms588 KiB
13Elfogadva2/214ms632 KiB
14Elfogadva2/226ms912 KiB
15Elfogadva3/334ms1588 KiB
16Elfogadva4/437ms1784 KiB
17Elfogadva4/454ms2176 KiB
18Elfogadva3/348ms1844 KiB
19Elfogadva3/341ms1912 KiB
20Időlimit túllépés0/3409ms3836 KiB
21Időlimit túllépés0/3500ms3992 KiB
22Időlimit túllépés0/3500ms4260 KiB