155362025-02-20 11:20:20999Legtávolabbi leszármazottcpp17Elfogadva 50/5093ms10120 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;


pair<int,int> dfs(vector<vector<int>>& v, int node){
    pair<int,int> p={1,node};
    for(int i : v[node]){
        pair<int,int> q=dfs(v,i);
        q.first++;
        p=max(p,q);
    }
    //cout<<node+1<<", "<<p.second+1<<endl;
    return p;
}

int main() {
    int n,k;cin>>n;k=n-1;
    vector<vector<int>> v(n);
    int magas=0;
    vector<int> befok(n);
    for(int i = 0;i<k;i++){
        int a,b;cin>>a>>b;
        v[--a].push_back(--b);
        befok[b]++;
    }
    for(int i = 0;i<n;i++)if(befok[i]==0)magas=i;
    cout<<dfs(v,magas).second+1<<endl;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms544 KiB
2Elfogadva0/075ms4148 KiB
3Elfogadva1/11ms316 KiB
4Elfogadva3/31ms500 KiB
5Elfogadva3/31ms316 KiB
6Elfogadva1/11ms508 KiB
7Elfogadva1/11ms500 KiB
8Elfogadva1/11ms316 KiB
9Elfogadva2/282ms4548 KiB
10Elfogadva3/382ms4776 KiB
11Elfogadva3/31ms316 KiB
12Elfogadva4/493ms7336 KiB
13Elfogadva4/489ms7220 KiB
14Elfogadva3/38ms820 KiB
15Elfogadva3/383ms7220 KiB
16Elfogadva3/386ms7476 KiB
17Elfogadva3/386ms7220 KiB
18Elfogadva4/465ms5172 KiB
19Elfogadva4/475ms6708 KiB
20Elfogadva4/492ms10120 KiB