216572026-01-13 17:47:37algoproLegtávolabbi leszármazottcpp17Hibás válasz 4/50112ms9520 KiB
// UUID: 9a221d1d-8b12-44bd-8c37-f808e5915411
#include <bits/stdc++.h>
using namespace std;

bool vis[100001];
vector<vector<int>> v;
vector<int> dp;

void dfs(int q){
    vis[q] = true;
    for(int i : v[q]){
        dp[i] = dp[q] + 1;
        if(vis[i] == false) dfs(i);
    }
}


int main() {
    int n; cin >> n;
    v.resize(n + 1);
    dp.resize(n + 1);
    for(int j = 0; j < n; j++){
        int a, b; cin >> a >> b;
        v[a].push_back(b);
        v[b].push_back(a);
    }
    for(int j = 1; j <= n; j++){
        if(vis[j] == false){
            dfs(j);
        }
    }
    int legnagyobb = 0, index;
    for(int j = 1; j <= n; j++){
        if(legnagyobb < dp[j]){
            legnagyobb = dp[j];
            index = j;
        }
    }
    cout << index - 1;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base4/50
1Elfogadva0/01ms316 KiB
2Hibás válasz0/093ms5680 KiB
3Elfogadva1/11ms508 KiB
4Hibás válasz0/31ms500 KiB
5Elfogadva3/31ms316 KiB
6Hibás válasz0/11ms316 KiB
7Hibás válasz0/11ms316 KiB
8Hibás válasz0/12ms316 KiB
9Hibás válasz0/293ms6308 KiB
10Hibás válasz0/397ms6392 KiB
11Hibás válasz0/31ms424 KiB
12Hibás válasz0/4104ms8652 KiB
13Hibás válasz0/4100ms8476 KiB
14Hibás válasz0/39ms820 KiB
15Hibás válasz0/3103ms7220 KiB
16Hibás válasz0/392ms6864 KiB
17Hibás válasz0/3105ms7984 KiB
18Hibás válasz0/471ms6016 KiB
19Hibás válasz0/487ms7476 KiB
20Hibás válasz0/4112ms9520 KiB