116132024-10-31 19:03:25csdavidKerékpártúra (50 pont)cpp17Hibás válasz 20/50136ms5556 KiB
#include <iostream>
#include <vector>
#include <queue>
using namespace std;

struct david{
    vector<int> v;
};

int main()
{
    int n, m, k, x, y;
    cin >> n >> m >> k;
    queue<int> q;
    david a[n+1], b[n+1];
    int bejart[n+1], jo[n+1];
    for(auto& it: bejart){
        it=0;
    }
    for(auto& it:jo){
        it=0;
    }
    bejart[k]=1;
    for(int i=0; i<m; i++){
        cin >> x >> y;
        a[x].v.push_back(y);
        b[y].v.push_back(x);
    }
    q.push(k);
    /*cout << "\n\n";
    for(int i=1; i<=n; i++){
        for(int j=0; j<b[i].size(); j++){
            cout << i << ' ' << b[i][j] << '\n';
        }
    }*/
    while(!q.empty()){
        /*cout << 'x';
        cout << b[q.front()].v.size();*/
        for(int i=0; i<b[q.front()].v.size(); i++){

            if(bejart[b[q.front()].v[i]]==0){
                q.push(b[q.front()].v[i]);
                x=b[q.front()].v[i];
                bejart[b[q.front()].v[i]]=1;
                jo[b[q.front()].v[i]]=1;
                for(int j=0; j<a[x].v.size(); j++){
                    jo[a[x].v[j]]=1;
                }
            }
        }
        q.pop();
    }
    jo[k]=0;
    int megoldas=0;
    for(int i=1; i<=n; i++){
        if(jo[i]==1){
            megoldas++;
        }
    }

    cout << megoldas << '\n';
    for(int i=1; i<=n; i++){
        if(jo[i]==1){
            cout << i << ' ';
        }
    }




    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base20/50
1Elfogadva0/01ms500 KiB
2Hibás válasz0/019ms1848 KiB
3Elfogadva2/21ms320 KiB
4Elfogadva2/21ms320 KiB
5Elfogadva2/21ms508 KiB
6Hibás válasz0/21ms568 KiB
7Hibás válasz0/21ms320 KiB
8Hibás válasz0/23ms320 KiB
9Elfogadva2/23ms472 KiB
10Elfogadva2/24ms320 KiB
11Hibás válasz0/24ms568 KiB
12Hibás válasz0/212ms868 KiB
13Hibás válasz0/210ms788 KiB
14Hibás válasz0/220ms1136 KiB
15Hibás válasz0/335ms2212 KiB
16Hibás válasz0/437ms2216 KiB
17Elfogadva4/454ms2748 KiB
18Elfogadva3/346ms2552 KiB
19Elfogadva3/341ms2360 KiB
20Hibás válasz0/3119ms4904 KiB
21Hibás válasz0/3135ms5372 KiB
22Hibás válasz0/3136ms5556 KiB