Cod sursa(job #1311098)

Utilizator robertstrecheStreche Robert robertstreche Data 7 ianuarie 2015 18:42:42
Problema Diametrul unui arbore Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>
#include <vector>

#define lmax 100005
#define pb push_back

using namespace std;

ifstream f("darb.in");
ofstream g("darb.out");

int n,i,ma,ult,x,y;
bool ap[lmax];

vector <int>v[lmax];

inline void dfs(int nod,int l)
{
    ap[nod]=1;
   if (l>ma)
    {
        ma=l;
        ult=nod;
    }
   for (vector <int>::iterator it=v[nod].begin();it!=v[nod].end();it++)
    if (!ap[*it])
     dfs(*it,l+1);
}
int main()
{
    f>>n;
   for (i=1;i<n;i++)
    {
        f>>x>>y;
        v[x].pb(y);
        v[y].pb(x);
    }
    dfs(1,1);
   for (i=1;i<n;i++)
    ap[i]=0;
   dfs(ult,1);
   g<<ma;

   f.close();
   g.close();
}