Cod sursa(job #3291530)

Utilizator radugheoRadu Mihai Gheorghe radugheo Data 5 aprilie 2025 00:34:18
Problema Diametrul unui arbore Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>
#include <vector>

using namespace std;

ifstream fin("darb.in");
ofstream fout("darb.out");

int n, x, y, len, last_visited_node, maximum = -1;
int f[100005];
vector <int> L[100005];

void dfs (int node, int len) {
    f[node] = 1;
    for (auto it : L[node]){
        if (f[it] == 0) {
            dfs(it, len + 1);
        }
    }
    if (len > maximum) {
        maximum = len;
        last_visited_node = node;
    }
}

int main(){
    fin >> n;
    for (int i=0; i<n-1; i++){
        fin >> x >> y;
        L[x].push_back(y);
        L[y].push_back(x);
    }
    dfs(1, 0);
    for (int i=0; i<n; i++){
        f[i]  = 0;
    }
    dfs(last_visited_node, 1);
    fout << maximum;
    return 0;
}