Cod sursa(job #2562783)

Utilizator MariusblockMoga Marius-Ioan Mariusblock Data 29 februarie 2020 18:06:30
Problema Diametrul unui arbore Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <bits/stdc++.h>

using namespace std;

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

int viz[100005];
int maxim,maximus;
vector<int> G[100005];

void dfs(int nod,int t,int h){
    int i;
    viz[nod] = t;
    for(auto vecin: G[nod]){
        if(viz[vecin] != t){
            dfs(vecin,t,h+1);
        }
    }
    if(maxim < h){
        maximus = nod;
        maxim = h;
    }
}

int main(){
    int n,i,a,b;
    fin>>n;
    for(i = 1; i < n; i++){
        fin>>a>>b;
        G[a].push_back(b);
        G[b].push_back(a);
    }
    dfs(1,1,0);
    dfs(maximus,2,1);
    fout<<maxim<<'\n';
    return 0;
}