Cod sursa(job #2976125)

Utilizator alexscanteieScanteie Alexandru alexscanteie Data 8 februarie 2023 12:54:28
Problema Diametrul unui arbore Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <iostream>
#include <fstream>
#include <cassert>
#include <vector>
#define NMAX 100005

using namespace std;

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

int n,m1=-1,f1;
bool v[NMAX];
vector <int> Muchii[NMAX];

void dfs(int node,int parent,int lvl) {
    if (lvl>m1) {
        m1=lvl;
        f1=node;
    }
    for (int i=0;i<Muchii[node].size();i++)
        if (Muchii[node][i]!=parent)
            dfs(Muchii[node][i],node,lvl+1);
}

int main()
{
    int x , y , nod;
    fin >> n;
    for(int i=1;i<=n-1;i++){
        fin>>x>>y;
        Muchii[x].push_back(y);
        Muchii[y].push_back(x);
    }
    dfs(1,0,1);
    cout<<f1<<'\n';
    m1=-1;
    dfs(f1,0,1);
    cout<<f1;
    fout<<m1;
    return 0;
}