Cod sursa(job #2483673)

Utilizator PatriciaCretoiuCretoiu Patricia PatriciaCretoiu Data 30 octombrie 2019 08:43:50
Problema Diametrul unui arbore Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in("darb.in");
ofstream out("darb.out");
const int N=1e5+2;
int n,i,x,y,len,pos;
int d[N],f[N];
vector<int>G[N];

void DFS(int nod)
{
    f[nod]=1;
    vector<int>::iterator it;
    for(it=G[nod].begin(); it<G[nod].end(); it++)
        if(f[*it]==0)
        {
            d[*it]=d[nod]+1;
            if(d[*it]>len) len=d[*it],pos=*it;
            DFS(*it);
        }
}

int main()
{
    in>>n;
    for(i=1; i<n; i++)
    {
        in>>x>>y;
        G[x].push_back(y);
        G[y].push_back(x);
    }
    DFS(1);
    memset(d,0,sizeof(d));
    memset(f,0,sizeof(f));
    len=0;
    DFS(pos);
    out<<len+1;
}