Cod sursa(job #1568831)

Utilizator ZimmyZimmermann Erich Zimmy Data 14 ianuarie 2016 19:02:09
Problema Diametrul unui arbore Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>
#include <vector>
#include <cstring>
#define N 100010
using namespace std;
ifstream f("darb.in");
ofstream g("darb.out");
vector<int> v[N];
int n,i,j,k,a,sol,niv[N],Q[N],bfs(int);
int main()
{
    f>>n;
    for(i=2;i<=n;i++)
    {
        f>>j>>k;
        v[j].push_back(k);
        v[k].push_back(j);
    }
    bfs(1);
    g<<bfs(Q[n]);
    return 0;
}
int bfs(int nod)
{
    memset(niv,0,sizeof(niv));
    Q[1]=nod;niv[nod]=1;
    for(i=1,j=2;i<=n;i++)
        for(auto it:v[Q[i]])
            if(!niv[it])
            {
                niv[it]=niv[Q[i]]+1;Q[j++]=it;

            }
    return niv[Q[n]];
}