Cod sursa(job #3321575)

Utilizator bagae123Burlacu Andrei bagae123 Data 10 noiembrie 2025 11:24:22
Problema Diametrul unui arbore Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.84 kb
#include <iostream>
#include<bits/stdc++.h>
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
const int MAx_NODES=1e5;
vector<int>arb[MAx_NODES+5];
int viz[MAx_NODES+5];
int depth[MAx_NODES+5];
int Max_node;
int Max;
void find_leaf(int nod)
{
    viz[nod]=1;
    for(auto x:arb[nod])
    {
        if(!viz[x]){
        depth[x]=depth[nod]+1;
        if(depth[x]>Max){Max=depth[x];Max_node=x;}
        find_leaf(x);
        }
    }
}
void reset(int nodes)
{
    Max=0;

    for(int i=1;i<=nodes;i++)
    {
        depth[i]=1;
        viz[i]=0;
    }
}
int main()
{
   int n;
   fin>>n;
   for(int i=1;i<=n-1;i++)
   {int x,y;
       fin>>x>>y;
       arb[x].push_back(y);
       arb[y].push_back(x);
   }
   find_leaf(1);
   reset(n);
   find_leaf(Max_node);

fout<<Max;
    return 0;
}