Cod sursa(job #2870954)

Utilizator Alle43221Moroz Alexandra-Ioana Alle43221 Data 12 martie 2022 18:54:54
Problema Diametrul unui arbore Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.91 kb
#include <iostream>
#include <fstream>
#include <vector>

#define n_max 100001

using namespace std;

ifstream fin("darb.in");
ofstream fout("darb.out");

int n, aux;

int x, y, ind, mare;

bool vf[n_max];

vector <int> M[n_max];

void parcurgere(int x, int d)
{
    int mnv=d+1;
    for(auto i: M[x])
    {
        if(vf[i]==0)
        {
            vf[i]=1;
            parcurgere(i, mnv);
            if(mnv>mare)
            {
                mare=mnv;
                ind=i;
            }
        }
    }
}

int main()
{
    fin>>n;
    for(int i=1; i<=n-1; i++)
    {
        fin>>x>>y;
        M[x].push_back(y);
        M[y].push_back(x);
    }

    parcurgere(1, 1);

    for(int i=1; i<=n; i++)
    {
        vf[i]=0;
    }

    //cout<<ind;

    parcurgere(ind, 1);

    //cout<<ind;

    fout<<mare;

    fin.close();
    fout.close();
    return 0;
}