40252023-03-09 11:53:47szabel26Legtávolabbi leszármazottcpp17Accepted 50/50101ms20136 KiB
// legtavolabbi.cpp : This file contains the 'main' function. Program execution begins and ends there.
//

#include <iostream>
#include <queue>
#define ll long long
using namespace std;

struct adat {
    ll lep;
    bool lat = false;
    vector<ll>sz;
};

vector<adat>x;
deque<ll>v;
vector<ll>y;

ll i, n, a, b, akt, maxi, p, kozos;

int main()
{
    cin >> n;
    x.resize(n + 1);
    y.resize(n + 1);
    while (cin >> a >> b)
    {
        x[a].sz.push_back(b);
        x[b].sz.push_back(a);
        ++y[b];
    }

    for (i = 1; i <= n; ++i)
    {
        if (!y[i])
        {
            kozos = i;
            break;
        }
    }

    x[kozos].lat = true;
    x[kozos].lep = 0;
    v.push_back(kozos);
    while (!v.empty())
    {
        akt = v.front();
        v.pop_front();
        for (auto& e : x[akt].sz)
        {
            if (!x[e].lat || x[akt].lep + 1 < x[e].lep)
            {
                v.push_back(e);
                x[e].lep = x[akt].lep + 1;
                x[e].lat = true;
            }
        }
    }

    for (i = 1; i <= n; ++i)
    {
        if (x[i].lep > maxi)
        {
            maxi = x[i].lep;
            p = i;
        }
    }

    cout << p;
    return 0;
}
/*
8
1 4
5 7
8 6
8 5
3 1
3 2
3 8
*/
// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu

// Tips for Getting Started: 
//   1. Use the Solution Explorer window to add/manage files
//   2. Use the Team Explorer window to connect to source control
//   3. Use the Output window to see build output and other messages
//   4. Use the Error List window to view errors
//   5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
//   6. In the future, to open this project again, go to File > Open > Project and select the .sln file
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/03ms1684 KiB
2Accepted0/087ms17056 KiB
3Accepted1/13ms2140 KiB
4Accepted3/33ms2448 KiB
5Accepted3/33ms2496 KiB
6Accepted1/13ms2840 KiB
7Accepted1/13ms2868 KiB
8Accepted1/13ms2936 KiB
9Accepted2/294ms20000 KiB
10Accepted3/390ms20136 KiB
11Accepted3/33ms3488 KiB
12Accepted4/497ms20088 KiB
13Accepted4/498ms20040 KiB
14Accepted3/39ms4960 KiB
15Accepted3/386ms18072 KiB
16Accepted3/385ms17812 KiB
17Accepted3/398ms19392 KiB
18Accepted4/471ms15552 KiB
19Accepted4/487ms17632 KiB
20Accepted4/4101ms19704 KiB