82582024-01-13 21:03:28bovizdbKerékpártúra (50 pont)cpp17Időlimit túllépés 10/50500ms5468 KiB
#include <bits/stdc++.h>
 
using namespace std;
 
#define ll long long
#define endl "\n"
#define pll pair<ll, ll>
#define fs first
#define sc second
#define vll vector<ll>
#define v2d vector<vector<ll>>
#define vpll vector<pll>
#define qll queue<ll>
#define stll stack<ll>
#define sll set<ll>
#define mll map<ll, ll>

ll n, m, k;
v2d g;

void solve()
{
    cin >> n >> m >> k;
    g.resize(n);
    for (ll i = 0; i < m; i++)
    {
        ll in1, in2;
        cin >> in1 >> in2;
        g[in1-1].push_back(in2-1);
    }
    vector<bool> out(n);
    for (ll i = 0; i < n; i++)
    {
        if (i == k-1) continue;
        qll q;
        q.push(i);
        vll c(n, 0);
        bool b = 0;
        while(!q.empty())
        {
            ll p = q.front();
            for (ll j = 0; j < g[p].size(); j++)
            {
                if (g[p][j] == k-1)
                {
                    b = 1;
                    break;
                }
                if (c[g[p][j]] == 0)
                {
                    q.push(g[p][j]);
                    c[g[p][j]] = 1;
                }
            }
            if (b == 1)
            {
                break;
            }
            c[p] = 2;
            q.pop();
        }
        if (b == 1)
        {
            out[i] = 1;
            for (ll j = 0; j < g[i].size(); j++)
            {
                out[g[i][j]] = 1;
            }
        }
    }
    out[k-1] = 0;
    cout << count(out.begin(), out.end(), 1) << endl;
    for (ll i = 0; i < n; i++)
    {
        if (out[i] == 1) cout << i+1  << " ";
    }
}
 
signed main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);
    ll t = 1;
    //cin >> t;
    while(t--)
    {
        solve();
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base10/50
1Elfogadva0/03ms2016 KiB
2Időlimit túllépés0/0500ms2172 KiB
3Elfogadva2/23ms2256 KiB
4Elfogadva2/23ms2464 KiB
5Elfogadva2/22ms2560 KiB
6Hibás válasz0/23ms2692 KiB
7Hibás válasz0/23ms2732 KiB
8Hibás válasz0/24ms2772 KiB
9Elfogadva2/26ms2784 KiB
10Elfogadva2/29ms2804 KiB
11Hibás válasz0/241ms2968 KiB
12Hibás válasz0/230ms3624 KiB
13Hibás válasz0/259ms3584 KiB
14Hibás válasz0/287ms4164 KiB
15Időlimit túllépés0/3458ms3308 KiB
16Időlimit túllépés0/4476ms3732 KiB
17Időlimit túllépés0/4453ms3896 KiB
18Időlimit túllépés0/3469ms3760 KiB
19Időlimit túllépés0/3458ms3656 KiB
20Időlimit túllépés0/3460ms5064 KiB
21Időlimit túllépés0/3456ms5284 KiB
22Időlimit túllépés0/3460ms5468 KiB