Cod sursa(job #1882838)

Utilizator miruna999Morarasu Miruna miruna999 Data 17 februarie 2017 15:35:53
Problema Diametrul unui arbore Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
#include <bits/stdc++.h>
using namespace std;

ifstream f("darb.in");
ofstream g("darb.out");

stack <int> s;
vector <int> lista[100001];

int n, m, adancimemax, nodf;
bool viz[100001];

void citire()
{
    f>>n>>m;
    int i, x, y;
    for (i = 1; i <= m; i++)
    {
        f>>x>>y;
        lista[x].push_back(y);
    }
}

void DF(int nod, int adancime)
{
    if(adancime>adancimemax)
       {
           adancimemax=adancime;nodf=nod;
       }
    viz[nod]=true;
    for(int i = 0; i < lista[nod].size(); i++)
        if(!viz[lista[nod][i]])
            DF(lista[nod][i],adancime+1);
}

int main()
{
    f>>n;int x,y;
    for(int i=1;i<n;i++)
    {
        f>>x>>y;lista[x].push_back(y);lista[y].push_back(x);
    }
    DF(1,1);
    for(int i=1;i<=n;i++) viz[i]=false;
    DF(nodf,1);
    g<<adancimemax;
    return 0;
}