99132024-03-18 15:42:30VargusKerékpártúra (50 pont)cpp17Hibás válasz 46/50135ms10688 KiB
#include <iostream>
#include <queue>
#include <set>
#define ll long long

using namespace std;

struct adat
{
    bool lat = false, utak = false;
    ll honnan = 0;
    vector <ll> sz;
};
vector <adat> x;
deque <ll> vissza;
set <ll> ut;

ll kezd;
void melyseg(ll csp)
{
    x[csp].lat = true;
    for (auto& e : x[csp].sz)
    {
        if (csp == kezd)
            ut.insert(e);
        if (!x[e].lat)
        { 
            x[e].honnan = csp;
            melyseg(e);
        }
        if (e == kezd)
            vissza.push_front(csp);
    }
}

int main()
{
    ll csp, el;
    cin >> csp >> el >> kezd;
    x.resize(csp + 1);
    for (ll i = 1; i <= el; ++i)
    {
        ll cs1, cs2;
        cin >> cs1 >> cs2;
        x[cs1].sz.push_back(cs2);

    }
    melyseg(kezd);

    ll akt = 0;
    x[kezd].utak = true;
    while (!vissza.empty())
    {
        akt = vissza.front();
        vissza.pop_front();
        x[akt].utak = true;
        while (akt != kezd)
        {
            ut.insert(akt);
            for (auto& f : x[akt].sz)
            {
                if (!x[f].utak)
                {
                    x[f].utak = true;
                    ut.insert(f);
                }
            }
            akt = x[akt].honnan;
        }
    }
    cout << ut.size() << endl;
    for (auto& e : ut)
        cout << e << " ";

    return 0;
}

RészfeladatÖsszpontTesztVerdiktIdőMemória
base46/50
1Elfogadva0/03ms1680 KiB
2Elfogadva0/020ms3840 KiB
3Hibás válasz0/23ms2064 KiB
4Elfogadva2/23ms2268 KiB
5Elfogadva2/23ms2484 KiB
6Elfogadva2/23ms2608 KiB
7Elfogadva2/23ms2744 KiB
8Elfogadva2/24ms3012 KiB
9Hibás válasz0/24ms3192 KiB
10Elfogadva2/24ms3408 KiB
11Elfogadva2/26ms3832 KiB
12Elfogadva2/213ms4148 KiB
13Elfogadva2/213ms4276 KiB
14Elfogadva2/221ms4720 KiB
15Elfogadva3/335ms7056 KiB
16Elfogadva4/437ms7600 KiB
17Elfogadva4/452ms8764 KiB
18Elfogadva3/348ms8348 KiB
19Elfogadva3/343ms8180 KiB
20Elfogadva3/3125ms10184 KiB
21Elfogadva3/3131ms10536 KiB
22Elfogadva3/3135ms10688 KiB