Cod sursa(job #2281623)

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

using namespace std;

int n, i, j, f[100002], g[100002], m, sol, maxim, c[100002], p, u, a, b, crt, nod;
vector<int> v[100002];

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

void dfs(int nod, int niv){
    g[nod] = niv;
    if(niv > m)
        m = niv, sol = nod;
    for(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 = 0;
    dfs(sol, 1);
    fout<<m;
    return 0;
}