Cod sursa(job #1883557)

Utilizator passwordCiaciru Ana Maria password Data 18 februarie 2017 06:32:54
Problema Diametrul unui arbore Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <bits/stdc++.h>
#define nmax 100001
using namespace std;
ifstream f("darb.in");
ofstream g("darb.out");
int n;
vector <int> V[nmax];
bool viz[nmax];
int nrm, imax;

void read()
{int i,x,y;
 f>>n;
 for(i=1;i<n;i++)
    {f>>x>>y;
     V[x].push_back(y);
     V[y].push_back(x);
    }
}

void dfs(int x, int nr)
{int i;
 if(nr>nrm) {nrm=nr; imax=x;}
 viz[x]=1;
 for(i=0;i<V[x].size();i++)
     if(viz[V[x][i]]==0) dfs(V[x][i],nr+1);
}

void write()
{int i;
 dfs(1,1);
 memset(viz,0,sizeof(viz));
 dfs(imax,1);
 g<<nrm<<endl;
}

int main()
{read();
 write();
 return 0;
}