Pagini recente » Cod sursa (job #2186230) | Cod sursa (job #1861480) | Cod sursa (job #1564896) | Cod sursa (job #3159208) | Cod sursa (job #2263625)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ofstream fo("darb.out");
ifstream fi("darb.in");
int n,a,b,nodInceput,maxim=-10;
vector<int> vecini[100001];
bool vizitat[100001];
void curata()
{
for(int i=1;i<=n;i++)
vizitat[i]=false;
}
int DFS(int nod,int nivel)
{
if(vizitat[nod]==false)
{
if(nivel>maxim)
{
maxim=nivel;
nodInceput=nod;
}
vizitat[nod]=true;
for(auto i:vecini[nod] )
{
DFS(i,nivel+1);
}
}
}
int main()
{
fi>>n;
for(int i=1;i<=n;i++)
{
fi>>a>>b;
vecini[a].push_back(b);
vecini[b].push_back(a);
}
DFS(1,1);
curata();
maxim=-10;
DFS(nodInceput,1);
fo<<maxim;
fi.close();
fo.close();
return 0;
}