Cod sursa(job #2281643)

Utilizator maria15Maria Dinca maria15 Data 12 noiembrie 2018 16:49:06
Problema Diametrul unui arbore Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
#include <vector>

using namespace std;

int n, i, j, g[100005], m=-1, sol, maxim, a, b;
vector<int> v[100005];

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

void dfs(int nod, int niv){
    g[nod] = niv;
    if(m<niv){
        m = niv;
        sol = nod;
    }
    for(int j=0;j<v[nod].size();j++){
        int vec = v[nod][j];
        if(g[vec] == 0)
            dfs(vec, niv+1);
    }
}

int main(){
    fin>>n;
    for(i=1;i<n;i++){
        fin>>a>>b;
        v[a].push_back(b);
        v[b].push_back(a);
    }
    dfs(1, 1);
    for(i=1;i<=n;i++)
        g[i] = 0;
    m = -1;
    dfs(sol, 1);
    fout<<m;
    return 0;
}