35792023-03-01 08:58:55EyusieLegtávolabbi leszármazottcpp17Accepted 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++;

        }
    }
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/03ms1828 KiB
2Accepted0/0101ms14920 KiB
3Accepted1/13ms2324 KiB
4Accepted3/32ms2292 KiB
5Accepted3/33ms2428 KiB
6Accepted1/13ms2548 KiB
7Accepted1/13ms2764 KiB
8Accepted1/13ms2932 KiB
9Accepted2/279ms16780 KiB
10Accepted3/379ms17036 KiB
11Accepted3/33ms3456 KiB
12Accepted4/4112ms17296 KiB
13Accepted4/4111ms17300 KiB
14Accepted3/39ms4612 KiB
15Accepted3/3103ms16032 KiB
16Accepted3/396ms15376 KiB
17Accepted3/3104ms16632 KiB
18Accepted4/472ms13460 KiB
19Accepted4/496ms15536 KiB
20Accepted4/4112ms17952 KiB