Cod sursa(job #1436593)

Utilizator Liviu98Dinca Liviu Liviu98 Data 16 mai 2015 09:58:30
Problema Diametrul unui arbore Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <iostream>
#include <fstream>
#include <vector>
#define NMax 100001
using namespace std;
bool uz[NMax];
int Max,N,x,y;
vector< int > Graf[NMax];

void Citire()
{
    ifstream g("darb.in");
    g>>N;
    for(int i=1;i<N;i++)
    {
        g>>x>>y;
        x--,y--;
        Graf[x].push_back(y);
        Graf[y].push_back(x);
    }
}

void DFS(int nod,int d)
{
    Max=max(Max,d);
    uz[nod]=true;
    for(vector<int>::iterator it=Graf[nod].begin();it!=Graf[nod].end();it++)
        if(!uz[*it])
           DFS(*it,d+1);
    uz[nod]=false;
}

int main()
{
    Citire();
    for(int i=0;i<N;i++)
        DFS(i,0);
    ofstream f("darb.out");
    f<<Max+1;
}