129782025-01-04 12:59:14szabelrKerékpártúra (50 pont)cpp17Elfogadva 50/50128ms3640 KiB
#include <iostream>
#include <vector>
using namespace std;

int main()
{
    vector <int> adjf[10001];
    vector <int> adj[10001];
    bool joe[10001]{ 0 };
    int n, m, k,a,b;
    cin >> n >> m >> k;
    for (int i = 1; i <= m; i++) {
        cin >> a >> b;
        adj[a].push_back(b);
        adjf[b].push_back(a);
    }
    vector <int> lista(10001);
    lista[0] = k;
    int l_elso=0, l_utolso=0;
    while (l_elso <= l_utolso) {
        int v = lista[l_elso];
        l_elso++;
        for (int i = 0; i < adjf[v].size(); i++) {
            int sz = adjf[v][i];
            if (joe[sz] == 0) {
                joe[sz] = 1;
                l_utolso++;
                lista[l_utolso] = sz;
            }
        }
    }
    /*for (int i = 1; i <= n; i++) {
        cout << i << " " << joe[i] << endl;
    }*/
    int db = 0;
    int jok[10001]{ 0 };
    bool visited[10001]{ 0 };
    vector <int> lista1(10001);
    lista1[0] = k;
    int l_elso1 = 0, l_utolso1 = 0;
    while (l_elso1 <= l_utolso1) {
        //cout << "Alma" << " ";
        int v = lista1[l_elso1];
        //cout << v;
        l_elso1++;
        for (int i = 0; i < adj[v].size(); i++) {
            int sz = adj[v][i];
            //cout << sz << " ";
            if (joe[sz] == 1 and visited[sz]==0) {
                l_utolso1++;
                visited[sz] = 1;
                lista1[l_utolso1] = sz;
                db++;
                jok[db] = sz;
            }
        }
    }
    //cout << db << endl;
    int dbog = db;
    for (int i = 1; i <= dbog; i++) {
        for (int y = 0; y < adj[jok[i]].size(); y++) {
            int sz = adj[jok[i]][y];
            if (visited[sz] == 0) {
                db++;
                jok[db] = sz;
                visited[sz] = 1;
            }
        }
    }
    cout << db - 1<<endl;
    for (int i = 1; i <= db; i++) {
        if(jok[i]!=k)
            cout << jok[i] << " ";
    }

    

}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms824 KiB
2Elfogadva0/019ms1592 KiB
3Elfogadva2/21ms824 KiB
4Elfogadva2/21ms828 KiB
5Elfogadva2/21ms824 KiB
6Elfogadva2/21ms824 KiB
7Elfogadva2/21ms824 KiB
8Elfogadva2/23ms824 KiB
9Elfogadva2/23ms824 KiB
10Elfogadva2/24ms956 KiB
11Elfogadva2/24ms1080 KiB
12Elfogadva2/212ms1080 KiB
13Elfogadva2/210ms1060 KiB
14Elfogadva2/220ms1504 KiB
15Elfogadva3/332ms1848 KiB
16Elfogadva4/435ms1848 KiB
17Elfogadva4/450ms2240 KiB
18Elfogadva3/345ms2084 KiB
19Elfogadva3/339ms1920 KiB
20Elfogadva3/3112ms3384 KiB
21Elfogadva3/3128ms3596 KiB
22Elfogadva3/3127ms3640 KiB