Mai intai trebuie sa te autentifici.

Cod sursa(job #1644994)

Utilizator theodor1289Theodor Amariucai theodor1289 Data 10 martie 2016 10:34:44
Problema Diametrul unui arbore Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
int n, x, y, frunza, maxi, dist, distmax;
vector<int> g[100010];
bool viz[100010];

void dfs(int nod)
{
    dist++;
    viz[nod]=1;
    if(dist>distmax)
        frunza=nod, distmax=dist;

    for(int i=0;i<g[nod].size();i++)
        if(!viz[g[nod][i]])
        dfs(g[nod][i]);

    viz[nod]=0;
    dist--;
}

int main()
{
    fin>>n;
    for(int i=1;i<n;i++)
    {
        fin>>x>>y;
        g[x].push_back(y);
        g[y].push_back(x);
    }

    dfs(1);

    dfs(frunza);

    fout<<distmax;

    return 0;
}