Pagini recente » Cod sursa (job #660926) | Cod sursa (job #2268994) | Cod sursa (job #2584243) | Cod sursa (job #2112781) | Cod sursa (job #2541259)
//
// main.cpp
// darb - infoarena
//
// Created by Razvan Vranceanu on 08/02/2020.
// Copyright © 2020 Razvan Vranceanu. All rights reserved.
//
#include <fstream>
using namespace std;
ifstream f("darb.in");
ofstream g("darb.out");
//declarare
#define N 100001
int n, departe, maxi;
bool viz[N];
struct nod{
int x;
nod *leg;
} *L[N];
void adauga(nod *&pp, int val)
{
nod *p = new nod;
p->x = val;
p->leg = pp;
pp = p;
}
void citire()
{
f >> n;
int x, y;
for(int i = 1; i < n; i ++)
{
f >> x >> y;
adauga(L[x], y);
adauga(L[y], x);
}
}
void DF(int i, int cost)
{
viz[i] = true;
if(cost > maxi)
{
maxi = cost;
departe = i;
}
for(nod *p = L[i]; p; p = p->leg)
if(!viz[p->x])
DF(p->x, cost + 1);
}
int main() {
citire();
DF(1, 1);
for(int i = 1; i <= n-1; i ++)
viz[i]=false;
DF(departe, 1);
g << maxi;
return 0;
}