Cod sursa(job #3323206)

Utilizator Theo14Ancuta Theodor Theo14 Data 17 noiembrie 2025 17:36:19
Problema Diametrul unui arbore Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 kb
#include<bits/stdc++.h>
using namespace std;

ifstream f("darb.in");
ofstream g("darb.out");

int viz[100005], dist[100005], n;
vector<int>v[100005]; 


void dfs(int nod){
    viz[nod]=1;
    for(auto it:v[nod]){
        if(viz[it]==0){
            dist[it] = dist[nod]+1;
            dfs(it);
        }
    }
}

int main(){
    int i,x,y,retin,maxi;
    f>>n;
    for(i=1;i<n;i++){
        f>>x>>y;
        v[x].push_back(y);
        v[y].push_back(x);
    }
    dfs(1);
    maxi=-1;
    for(i=1;i<=n;i++){
        if(dist[i]>maxi){
            maxi=dist[i];
            retin=i;
        }
    }
    for(i=1;i<=n;i++){
        viz[i]=0;
        dist[i]=0;
    }
    dfs(retin);
    maxi=-1;
    for(i=1;i<=n;i++)
        maxi=max(maxi,dist[i]);
    g<<maxi+1;
    return 0;
}