Cod sursa(job #1860175)

Utilizator S7012MYPetru Trimbitas S7012MY Data 27 ianuarie 2017 22:05:21
Problema Diametrul unui arbore Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
#include <fstream>
#include <vector>
#define DN 100005
using namespace std;

int n,d[DN];
vector<int> gr[DN];

void _(int s,int f,int dc) {
    d[s]=dc;
    for(auto i:gr[s]) if(f!=i) _(i,s,dc+1);
}

int main() {
    ifstream f("darb.in");
    ofstream g("darb.out");
    f>>n;
    for(int i=1; i<n; ++i) {
        int a,b; f>>a>>b;
        gr[a].push_back(b);
        gr[b].push_back(a);
    }
    _(1,0,0);
    int nm=1;
    for(int i=2; i<=n; ++i) if(d[i]>d[nm]) nm=i;
    _(nm,0,1);
    nm=1;
    for(int i=2; i<=n; ++i) if(d[i]>d[nm]) nm=i;
    g<<d[nm];
}