181672025-10-08 16:03:51KristófKerékpártúra (50 pont)cpp17Elfogadva 50/5078ms6124 KiB
#include <iostream>
#include <bits/stdc++.h>

using namespace std;

set<int> halmaz;


void DFS(vector<vector<int>> &graf,int v,vector<bool> &latogatas)
{
latogatas[v]=true;
for(int i=0;i<graf[v].size();i++)
    {
    halmaz.insert(graf[v][i]);
    if(!latogatas[graf[v][i]])
        DFS(graf,graf[v][i],latogatas);
    }

}


int main()
{
    ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    int n,m,k;
    cin>>n>>m>>k;
    vector<vector<int>> graf(n+1);
    vector<vector<int>> inverzgraf(n+1);
    int x,y;
    for(int i=0;i<m;i++)
        {
        cin>>x>>y;
        graf[x].push_back(y);
        inverzgraf[y].push_back(x);
        }
    vector<bool> latogatas(n+1,false);
    DFS(inverzgraf,k,latogatas);
    set<int> halmaz2=halmaz;
    for(auto x : halmaz)
        {
        for(auto y : graf[x])
            {
            halmaz2.insert(y);
            }
        }
    halmaz2.erase(k);
    cout<<halmaz2.size()<<endl;
    for(auto x : halmaz2)
        {
        cout<<x<<" ";
        }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/09ms1588 KiB
3Elfogadva2/21ms500 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/22ms316 KiB
9Elfogadva2/22ms316 KiB
10Elfogadva2/22ms512 KiB
11Elfogadva2/23ms564 KiB
12Elfogadva2/26ms824 KiB
13Elfogadva2/26ms820 KiB
14Elfogadva2/29ms1064 KiB
15Elfogadva3/317ms2296 KiB
16Elfogadva4/419ms2880 KiB
17Elfogadva4/429ms3364 KiB
18Elfogadva3/327ms3404 KiB
19Elfogadva3/325ms3328 KiB
20Elfogadva3/359ms4816 KiB
21Elfogadva3/372ms5796 KiB
22Elfogadva3/378ms6124 KiB