216902026-01-13 18:07:55algoproLegtávolabbi leszármazottcpp17Elfogadva 50/50112ms11388 KiB
// UUID: d027f582-603e-4997-b691-61601b70ca51
#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;
    vector<bool> os(n+1, true);

    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;
        os[f] = false;

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

    }

    for(int i=0;i<=n;i++) {
        if(os[i]) o=i;
    }

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

}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/089ms5188 KiB
3Elfogadva1/11ms316 KiB
4Elfogadva3/31ms332 KiB
5Elfogadva3/31ms316 KiB
6Elfogadva1/11ms316 KiB
7Elfogadva1/11ms404 KiB
8Elfogadva1/12ms316 KiB
9Elfogadva2/2103ms5944 KiB
10Elfogadva3/397ms5932 KiB
11Elfogadva3/31ms316 KiB
12Elfogadva4/4104ms8692 KiB
13Elfogadva4/4108ms8756 KiB
14Elfogadva3/38ms820 KiB
15Elfogadva3/3112ms7888 KiB
16Elfogadva3/396ms8756 KiB
17Elfogadva3/3108ms8500 KiB
18Elfogadva4/476ms5684 KiB
19Elfogadva4/487ms8124 KiB
20Elfogadva4/4101ms11388 KiB