161212025-04-03 08:30:32tKriszLegtávolabbi leszármazottcpp17Elfogadva 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/082ms4660 KiB
3Elfogadva1/11ms316 KiB
4Elfogadva3/31ms316 KiB
5Elfogadva3/31ms316 KiB
6Elfogadva1/11ms508 KiB
7Elfogadva1/11ms316 KiB
8Elfogadva1/12ms316 KiB
9Elfogadva2/286ms4964 KiB
10Elfogadva3/382ms5204 KiB
11Elfogadva3/31ms420 KiB
12Elfogadva4/486ms5428 KiB
13Elfogadva4/485ms5424 KiB
14Elfogadva3/38ms1012 KiB
15Elfogadva3/379ms5428 KiB
16Elfogadva3/382ms5100 KiB
17Elfogadva3/389ms5108 KiB
18Elfogadva4/459ms4148 KiB
19Elfogadva4/472ms4660 KiB
20Elfogadva4/493ms6192 KiB