4466 2023. 03. 28 12:10:11 UnluckY Legtávolabbi leszármazott cpp11 Elfogadva 50/50 104ms 21532 KiB
#include <bits/stdc++.h>

using namespace std;


vector<vector<int>> v;
vector<int> d;

void dfs(int x, int a){
    if (d[x] != -1) return;
    d[x] = a + 1;
    for (int i : v[x]){
        dfs(i, d[x]);
    }
}

int main(){

    int n; cin >> n;
    v.assign(n+1, {});
    d.assign(n+1, -1);

    vector<bool> dad(n+1, false);

    for (int i = 0; i < n-1; i++){
        int a, b; cin >> a >> b;
        v[a].push_back(b);
        v[b].push_back(a);
        dad[b] = true;
    }

    int grand = 0;

    for (int i = 1; i <= n; i++){
        if (!dad[i]){
            grand = i;
            break;
        }
    }


    dfs(grand, -1);

    int m = 0, mi = 0;

    for (int i = 1; i <= n; i++){
        if (d[i] > m){
            m = d[i];
            mi = i;
        }
    }

    cout << mi;

    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1812 KiB
2 Elfogadva 0/0 85ms 12756 KiB
3 Elfogadva 1/1 3ms 2408 KiB
4 Elfogadva 3/3 3ms 2536 KiB
5 Elfogadva 3/3 3ms 2556 KiB
6 Elfogadva 1/1 3ms 2948 KiB
7 Elfogadva 1/1 3ms 2904 KiB
8 Elfogadva 1/1 3ms 3140 KiB
9 Elfogadva 2/2 90ms 14784 KiB
10 Elfogadva 3/3 89ms 14788 KiB
11 Elfogadva 3/3 3ms 3312 KiB
12 Elfogadva 4/4 104ms 17844 KiB
13 Elfogadva 4/4 93ms 18076 KiB
14 Elfogadva 3/3 9ms 4400 KiB
15 Elfogadva 3/3 93ms 16596 KiB
16 Elfogadva 3/3 83ms 17608 KiB
17 Elfogadva 3/3 90ms 17948 KiB
18 Elfogadva 4/4 67ms 13876 KiB
19 Elfogadva 4/4 79ms 16988 KiB
20 Elfogadva 4/4 96ms 21532 KiB