Cod sursa(job #3237388)

Utilizator Bolfa_DBolfa Diana Bolfa_D Data 8 iulie 2024 18:20:00
Problema Diametrul unui arbore Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <bits/stdc++.h>
#define NMAX 100100
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
set<int> v[NMAX];
int use[NMAX];
void dfs(int node, int &lst, int &dist)
{
    for(auto j:v[node])
        if(use[j]==0)
        {
            use[j]=use[node]+1;
            if(use[j]>dist)
            {
                dist=use[j];
                lst=j;
            }
            dfs(j,lst,dist);
        }
}

int n,x,y, ans;
int main()
{
    fin>>n;

    for(int i=1;i<n;++i)
    {
        fin>>x>>y;
        v[x].insert(y);
        v[y].insert(x);
    }

    use[1]=1;
    dfs(1,x,ans);
    for(int i=1;i<=n;++i)
        use[i]=0;
    ans=0;

    use[x]=1;
    dfs(x,y,ans);
    fout<<ans;

    return 0;
}