216742026-01-13 18:01:36algoproLegtávolabbi leszármazottcpp17Hibás válasz 36/50100ms10600 KiB
// UUID: 06e8a3df-019d-4c36-99f0-24e7a9fca932
#include <bits/stdc++.h>
using namespace std;

vector<vector<int>> graf;

pair<int, int> dfs(int u, int v) {
    int maxx=0, maxv=v;
    pair<int, int> c;

    for(auto x : graf[v]) {

        if(x != u){

            c = dfs(v, x);

            //cerr << c.first << ' ' << c.second << '\n';

            if(c.first > maxx) {
                maxx = c.first;
                maxv = c.second;
            }

        }

    }
    
    return {maxx+1, maxv};
}

int main() {
	int n, o = 0; 
    cin >> n;

    graf.resize(n+1);
    if (n==1){
        return 0;
    }
    for(int i=0;i<n;i++) {

        int a, f; 
        cin >> a >> f;

        if(o == 0 || o == f) o = a;

        graf[a].push_back(f);
        //graf[f].push_back(a);

    }

    //cerr << o;
    cout << dfs(o, o).second;

}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base36/50
1Elfogadva0/01ms316 KiB
2Hibás válasz0/071ms3900 KiB
3Elfogadva1/11ms316 KiB
4Elfogadva3/31ms316 KiB
5Elfogadva3/31ms316 KiB
6Elfogadva1/11ms316 KiB
7Elfogadva1/11ms316 KiB
8Hibás válasz0/11ms316 KiB
9Elfogadva2/282ms4372 KiB
10Elfogadva3/382ms4224 KiB
11Hibás válasz0/31ms316 KiB
12Elfogadva4/489ms4916 KiB
13Elfogadva4/486ms6552 KiB
14Hibás válasz0/37ms756 KiB
15Hibás válasz0/378ms5112 KiB
16Elfogadva3/371ms4516 KiB
17Elfogadva3/387ms6108 KiB
18Hibás válasz0/459ms4164 KiB
19Elfogadva4/475ms5940 KiB
20Elfogadva4/4100ms10600 KiB