Cod sursa(job #3122379)

Utilizator pinzaruliviuPinzaru Liviu-Vasile pinzaruliviu Data 18 aprilie 2023 20:08:23
Problema Diametrul unui arbore Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include<bits/stdc++.h>
using namespace std;
const int dim=100002;
ifstream f("darb.in");
ofstream g("darb.out");

vector<int>G[dim];
int a,nivmx=0,v[dim];

void dfs(int x)
{
    for(unsigned int j=0;j<G[x].size();j++)
    {
        int y=G[x][j];
        if(v[y]==0)
        {
            v[y]=v[x]+1;
            if(nivmx<v[y])
            {
                nivmx=v[y];
                a=y;
            }
            dfs(y);
        }
    }
}

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

    dfs(1);

    nivmx=0;
    for(i=1;i<=n;i++)
        v[i]=0;

    v[a]=1;
    dfs(a);

    g<<nivmx;


    return 0;
}