Cod sursa(job #1888164)

Utilizator theodor1289Theodor Amariucai theodor1289 Data 21 februarie 2017 22:45:39
Problema Diametrul unui arbore Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <bits/stdc++.h>
#define INF 999999999
using namespace std;
ifstream fin("date.in");
ofstream fout("date.out");
vector<int> g[100010];
int ctr, a, b, sursa, n, m, coada[100010], p, u, dist[100010], viz[100010], gasit, distmax, aux;

void dfs(int nod)
{
    viz[nod]=1;
    for(int i=0; i<g[nod].size();i++)
        if(!viz[g[nod][i]])
        {
            aux=g[nod][i];
            dist[aux]=dist[nod]+1;
            if(dist[aux]>distmax)
                distmax=dist[aux], gasit=aux;

            dfs(aux);
        }
}

int main()
{
    fin>>n;
    while(fin>>a>>b)
    {
        g[a].push_back(b);
        g[b].push_back(a);
    }

    dfs(1);

    for(int i=1;i<=n;i++)
        viz[i]=0, dist[i]=0;

    dfs(gasit);

    fout<<distmax+1;
    return 0;
}