161212025-04-03 08:30:32tKriszLegtávolabbi leszármazottcpp17Accepted 50/5093ms6192 KiB
#include <iostream>
#include <queue>
#include <vector>

using namespace std;

int os[100001] = {0};
int d[100001] = {0};
int main()
{
    int n, a, b, fo=0, dest;
    int dmax=0, imax=0;
    cin>>n;
    vector<vector<int>> szomli(n+1);
    for(int i=1;i<n;i++){
        cin>>a>>b;
        os[b]=a;
        szomli[a].push_back(b);
    }
    for(int i=1;i<=n;i++){
        if(os[i]==0){
            fo=i;
            break;
        }
    }
    queue <int> sor;
    sor.push(fo);
    while(!sor.empty()){
        int cur=sor.front();
        for(int i=0;i<szomli[cur].size();i++){
            dest=szomli[cur][i];
            d[dest]=d[cur]+1;
            if(d[dest]>dmax){
                dmax=d[dest];
                imax=dest;
            }
            sor.push(dest);
        }
        sor.pop();
    }
    cout<<imax;
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/082ms4660 KiB
3Accepted1/11ms316 KiB
4Accepted3/31ms316 KiB
5Accepted3/31ms316 KiB
6Accepted1/11ms508 KiB
7Accepted1/11ms316 KiB
8Accepted1/12ms316 KiB
9Accepted2/286ms4964 KiB
10Accepted3/382ms5204 KiB
11Accepted3/31ms420 KiB
12Accepted4/486ms5428 KiB
13Accepted4/485ms5424 KiB
14Accepted3/38ms1012 KiB
15Accepted3/379ms5428 KiB
16Accepted3/382ms5100 KiB
17Accepted3/389ms5108 KiB
18Accepted4/459ms4148 KiB
19Accepted4/472ms4660 KiB
20Accepted4/493ms6192 KiB