155352025-02-20 11:13:25999Legtávolabbi leszármazottcpp17Hibás válasz 1/504ms3124 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);
    }
    return p;
}

int main() {
    int n,k=n-1;cin>>n;
    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<<endl;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base1/50
1Elfogadva0/01ms316 KiB
2Hibás válasz0/03ms2868 KiB
3Elfogadva1/11ms316 KiB
4Hibás válasz0/31ms316 KiB
5Hibás válasz0/31ms316 KiB
6Hibás válasz0/11ms316 KiB
7Hibás válasz0/11ms316 KiB
8Hibás válasz0/11ms316 KiB
9Hibás válasz0/24ms3124 KiB
10Hibás válasz0/33ms3124 KiB
11Hibás válasz0/31ms316 KiB
12Hibás válasz0/44ms3124 KiB
13Hibás válasz0/44ms3124 KiB
14Hibás válasz0/31ms564 KiB
15Hibás válasz0/33ms2868 KiB
16Hibás válasz0/33ms2612 KiB
17Hibás válasz0/34ms2868 KiB
18Hibás válasz0/43ms2100 KiB
19Hibás válasz0/43ms2796 KiB
20Hibás válasz0/44ms3124 KiB