64922023-12-05 08:52:11Huni136Legtávolabbi leszármazottcpp11Accepted 50/50103ms29892 KiB
#include <iostream>
#include <bitset>
#include <set>
using namespace std;
int n,t[100001]={0};
set<int> vc[100001];

int gyoker()
{
    for(int i=1;i<=n;i++)
    {
        if(t[i]==0)
        {
            return i;
        }
    }
    return -1;
}

int d[100001]={-1};

void tav(int nod, int prev)
{
    d[nod]=d[prev]+1;
    for(auto i: vc[nod])
    {
        tav(i,nod);
    }
    /*for(int i=1;i<=n;i++)
    {
        if(t[i]==nod)
        {
            tav(i,nod);
        }
    }*/
}

int main()
{
    ////int t[100001]={0};
    //int n;
    cin>>n;
    int x,y;
    for(int i=1;i<n;i++)
    {
        cin>>x>>y;
        vc[x].insert(y);
        t[y]=x;
    }
    int gyok=gyoker();
    tav(gyok,0);
    int maxi=-1;
    int ment;
    for(int i=1;i<=n;i++)
    {
        if(d[i]>maxi)
        {
            maxi=d[i];
            ment=i;
        }
    }
    cout<<ment;
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/06ms11376 KiB
2Accepted0/097ms21384 KiB
3Accepted1/16ms11884 KiB
4Accepted3/36ms12092 KiB
5Accepted3/36ms12328 KiB
6Accepted1/16ms12452 KiB
7Accepted1/16ms12308 KiB
8Accepted1/16ms12480 KiB
9Accepted2/296ms23332 KiB
10Accepted3/393ms23432 KiB
11Accepted3/36ms12624 KiB
12Accepted4/493ms26076 KiB
13Accepted4/4103ms26236 KiB
14Accepted3/314ms13976 KiB
15Accepted3/394ms25408 KiB
16Accepted3/392ms26188 KiB
17Accepted3/3101ms26572 KiB
18Accepted4/470ms22944 KiB
19Accepted4/487ms25680 KiB
20Accepted4/4100ms29892 KiB