Cod sursa(job #2208123)

Utilizator stefdascalescuStefan Dascalescu stefdascalescu Data 28 mai 2018 13:04:21
Problema Diametrul unui arbore Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include<bits/stdc++.h>
using namespace std;
ifstream f("darb.in");
ofstream g("darb.out");
int n,niv[100002],maxi,care;
vector<int>v[100002];
void dfs(int dad, int nod)
{
    if(niv[nod]>maxi)
        maxi=niv[nod],care=nod;
    for(int i=0;i<v[nod].size();++i)
    {
        int vecin=v[nod][i];
        if(vecin==dad)
            continue;
        niv[vecin]=niv[nod]+1;
        dfs(nod, vecin);
    }
}
int main()
{
    f>>n;
    for(int i=1;i<n;++i)
    {
        int a,b;
        f>>a>>b;
        v[a].push_back(b);
        v[b].push_back(a);
    }
    dfs(0,1);
    memset(niv,0,sizeof(niv));
    maxi=0;
    dfs(0,care);
    g<<maxi+1;
    return 0;
}