35792023-03-01 08:58:55EyusieLegtávolabbi leszármazottcpp17Elfogadva 50/50112ms17952 KiB
#include <bits/stdc++.h>

using namespace std;

int main()
{
    iostream::sync_with_stdio(0);
    cin.tie(0);

    int n, szulo, gyerek, hossz = 0, lnh = 0;
    cin >> n;
    vector<vector<int>> gyerekek(n);
    set<int> os;
    for(int i = 0; i < n; i++)
    {
        os.insert(i);
    }
    for(int i = 0; i < n-1; i++)
    {
        cin >> szulo >> gyerek;
        gyerekek[szulo-1].push_back(gyerek-1);
        os.erase(gyerek-1);
    }
    int szint = 1;
    int szintdb = 1;
    int kovszintdb = 0;
    queue<int> sor;
    sor.push(*os.begin());
    int akt;
    while(sor.size())
    {
        akt = sor.front();
        sor.pop();
        szintdb--;
        for(int gyerek : gyerekek[akt]) {
            sor.push(gyerek);
            kovszintdb++;
        }
        if(szintdb == 0)
        {
            if(kovszintdb == 0)
            {
                cout <<  akt+1 << "\n";
                return 0;
            }
            swap(szintdb, kovszintdb);

            szint++;

        }
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/03ms1828 KiB
2Elfogadva0/0101ms14920 KiB
3Elfogadva1/13ms2324 KiB
4Elfogadva3/32ms2292 KiB
5Elfogadva3/33ms2428 KiB
6Elfogadva1/13ms2548 KiB
7Elfogadva1/13ms2764 KiB
8Elfogadva1/13ms2932 KiB
9Elfogadva2/279ms16780 KiB
10Elfogadva3/379ms17036 KiB
11Elfogadva3/33ms3456 KiB
12Elfogadva4/4112ms17296 KiB
13Elfogadva4/4111ms17300 KiB
14Elfogadva3/39ms4612 KiB
15Elfogadva3/3103ms16032 KiB
16Elfogadva3/396ms15376 KiB
17Elfogadva3/3104ms16632 KiB
18Elfogadva4/472ms13460 KiB
19Elfogadva4/496ms15536 KiB
20Elfogadva4/4112ms17952 KiB