Cod sursa(job #2196651)

Utilizator MaraForinaMaria Florina MaraForina Data 19 aprilie 2018 22:57:37
Problema Diametrul unui arbore Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("darb.in");
ofstream fout("darb.out");

long long int a[9999][9999],c[100002],viz[100002],k,n;

void citire()
{
    fin>>n;
    int x,y;
    while(fin>>x>>y)
        a[x][y]=a[y][x]=1;
}

int bf(int x)
{
    int p,u,i;
    for(i=1;i<=n;++i)
        viz[i]=0;
    p=u=1;
    c[p]=x;
    viz[x]=1;
    while(p<=u)
    {
        x=c[p++];
        for(i=1;i<=n;++i)
            if(!viz[i]&&a[x][i])
                {
                viz[i]=viz[x]+1;
                c[++u]=i;
                }
    }
    k=viz[c[u]];
    return c[u];
}
int main()
{
    citire();
    bf(bf(1));
    fout<<k;
    return 0;
}