129682025-01-04 11:17:41PallanekPéterKerékpártúra (50 pont)cpp17Elfogadva 50/50137ms4016 KiB
#include <bits/stdc++.h>
using namespace std;

int main(){
    int n,m,k;
    cin >> n >> m >> k;
    vector<vector<int>> graf1(n);
    vector<vector<int>> graf2(n);
    vector<int> seen1(n,0);
    vector<int> seen2(n,0);
    for (int i=0;i<m;i++){
        int u,v; cin >> u >> v;
        graf1[u-1].push_back(v-1);
        graf2[v-1].push_back(u-1);
    }
    vector<int> ans;
    queue<int> Q;
    Q.push(k-1);
    seen1[k-1]=2;
    seen2[k-1]=2;
    while(!Q.empty()){
        int u=Q.front();
        Q.pop();
        seen2[u]=1;
        for(int v:graf1[u]){
            if (seen1[v]==0){
                ans.push_back(v+1);
                seen1[v]=1;
            }
        }
        for(int v:graf2[u]){
            if (seen2[v]==0){
                Q.push(v);
            }
        }
        seen2[u]=2;
    }
    cout << ans.size() << "\n";
    for (int i:ans){
        cout << i << " ";
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms500 KiB
2Elfogadva0/019ms1440 KiB
3Elfogadva2/21ms320 KiB
4Elfogadva2/21ms508 KiB
5Elfogadva2/21ms360 KiB
6Elfogadva2/21ms320 KiB
7Elfogadva2/21ms320 KiB
8Elfogadva2/22ms320 KiB
9Elfogadva2/23ms320 KiB
10Elfogadva2/24ms468 KiB
11Elfogadva2/24ms568 KiB
12Elfogadva2/210ms748 KiB
13Elfogadva2/210ms720 KiB
14Elfogadva2/220ms944 KiB
15Elfogadva3/332ms1656 KiB
16Elfogadva4/435ms1784 KiB
17Elfogadva4/450ms2132 KiB
18Elfogadva3/343ms2104 KiB
19Elfogadva3/337ms1828 KiB
20Elfogadva3/3134ms3488 KiB
21Elfogadva3/3137ms3984 KiB
22Elfogadva3/3135ms4016 KiB