Cod sursa(job #2011901)

Utilizator GodSlayerTabara Emanuel GodSlayer Data 17 august 2017 15:07:53
Problema Diametrul unui arbore Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <bits/stdc++.h>

using namespace std;

int v,max_deaph,N, vec[100005];
vector <int> G[100002];
ifstream in("darb.in");
ofstream out("darb.out");

void read()
{
    in >> N;
    int l, k, i;
    for(i = 1;i < N;i++)
    {
        in >> k >> l;
        G[k].push_back(l);
        G[l].push_back(k);
    }
}

int DFS(int nod, int parent, int deapth )
{   if(deapth > max_deaph)
      {
      max_deaph = deapth;
      v = nod;
      }

    vec[nod] = 1;
    int j, i;
    for(i = 0; i < G[nod].size(); i++)
     {
         if(vec[G[nod][i] ]!= 1)
         DFS(G[nod][i], nod, deapth +1);
     }
}
int main()
{
    int diam = 1;
    read();
    DFS(1,1, 1);
    memset(vec, 0, sizeof(vec));
    DFS(v,v, 1);
    out << max_deaph;

    return 0;
}