228862026-01-16 07:18:43bombinigusiniKerékpártúra (50 pont)cpp17Elfogadva 50/5052ms3580 KiB
#include <bits/stdc++.h>

using namespace std;

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    //ifstream cin("f.txt");
    int n, m, k, a, i;
    cin>>n>>m>>k;
    vector<vector<int>> v(n+1);
    vector<vector<int>> v2(n+1);
    int t[n+1]={};
    int x, y;
    for (i=1; i<=m; i++)
    {
        cin>>x>>y;
        v[x].push_back(y);
        v2[y].push_back(x);
    }
    queue<int> q;
    q.push(k);
    t[k]=1;
    while(!q.empty())
    {
        a=q.front();
        q.pop();
        for(auto j:v2[a])
        {
            if(t[j]==0)
            {
                t[j]=1;
                q.push(j);
            }
        }
    }
    // for(i=1; i<=n; i++)cout << t[i] << " ";
    q.push(k);
    bool t2[n+1]={};
    int szam=0;
    t2[k]=true;
    while(!q.empty())
    {
        a=q.front();
        q.pop();
        for(auto j:v[a])
        {
            if(t2[j]==false and t[j]==1)
            {
                q.push(j);
            }
            if (t2[j]==false)
            {
                t2[j]=true;
                szam++;
            }
        }
    }
    cout<<szam<<endl;
    for(i=1; i<=n; i++)
    {
        if(t2[i] and i!=k)
        {
            cout<<i<<" ";
        }
    }
    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/22ms448 KiB
9Elfogadva2/22ms316 KiB
10Elfogadva2/22ms316 KiB
11Elfogadva2/23ms564 KiB
12Elfogadva2/26ms756 KiB
13Elfogadva2/24ms564 KiB
14Elfogadva2/28ms944 KiB
15Elfogadva3/316ms1588 KiB
16Elfogadva4/417ms1704 KiB
17Elfogadva4/424ms2100 KiB
18Elfogadva3/320ms1844 KiB
19Elfogadva3/317ms1808 KiB
20Elfogadva3/346ms3276 KiB
21Elfogadva3/352ms3496 KiB
22Elfogadva3/352ms3580 KiB