Cod sursa(job #3348220)

Utilizator moloDaniMolodet Andrei Daniel moloDani Data 20 martie 2026 11:34:53
Problema Diametrul unui arbore Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>
#include <vector>
#include <math.h>

using namespace std;

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

const int mxN = 1e5 + 1;

vector<int> G[mxN];
int drum[mxN], ans = 0;

void DFS(int nod){
    for(int x : G[nod]){
        if(!drum[x]){
            drum[x] = drum[nod] + 1;
            if(drum[ans] < drum[x])
                ans = x;
            DFS(x);
        }
    }
}

int main(){
    int n;
    fin >> n;
    for(int i = 2; i <= n; i++){
        int a, b;
        fin >> a >> b;
        G[a].push_back(b);
        G[b].push_back(a);
    }

    drum[1] = 1;
    DFS(1);

    for(int i = 1; i <= n; i++)
        drum[i] = 0;
    drum[ans] = 1;
    DFS(ans);

    fout << drum[ans];
}