Cod sursa(job #2277494)

Utilizator Gl0WCula Stefan Gl0W Data 6 noiembrie 2018 13:07:31
Problema Diametrul unui arbore Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>
#include <vector>

using namespace std;

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

int v[100005], n, x, y, maxim = -1, ch;
vector <int> L[100005];

void dfs(int nod, int pas){
    v[nod] = pas;
    if(maxim < pas){
        maxim = pas;
        ch = nod;
    }
    for(int i = 0; i < L[nod].size(); i++){
        int vecin = L[nod][i];
        if(v[vecin] == 0){
            dfs(vecin, pas + 1);
        }
    }
}

int main()
{
    fin>>n;
    for(int i = 1; i < n; i++){
        fin>>x>>y;
        L[x].push_back(y);
        L[y].push_back(x);
    }
    dfs(1, 1);
    for(int i = 1; i <= n; i++){
        v[i] = 0;
    }
    maxim = -1;
    dfs(ch, 1);
    fout<<maxim;
    return 0;
}