Cod sursa(job #3250073)

Utilizator axetyNistor Iulian axety Data 19 octombrie 2024 10:18:46
Problema Diametrul unui arbore Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.85 kb
#include <fstream>
#include <vector>
#include <climits>
#include <queue>
using namespace std;

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

int n,m;
vector<int> Graf[100001];
int dist[100001];
int frcv[100001];
int nodDepartat;
int cnt=0;
int nmax=0;
int node=0;
void dfs1(int nod)
{
    if(frcv[nod] > nmax)
    {
        nmax=frcv[nod];
        node=nod;   
    }
    for(int vec : Graf[nod])
    {
        if(!frcv[vec])
        {
            frcv[vec]=  frcv[nod]+1;
            dfs1(vec);
        }
    }
}
int main (){
    fin >> n;
    for(int i=1;i<n;i++)
    {
        int x,y;
        fin >> x >> y;
        Graf[x].push_back(y);
        Graf[y].push_back(x);
 
    }
    frcv[1]=1;
    dfs1(1);
    nmax=0;
    for(int i=1;i<=n;i++) frcv[i]=0;
    dfs1(node);
    fout << nmax+1;
    return 0;
}