Pagini recente » Cod sursa (job #2357097) | Cod sursa (job #2617767) | Cod sursa (job #1359621) | Cod sursa (job #1389627) | Cod sursa (job #2310005)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
const int NMAX = 100005;
vector <int> v[NMAX];
bool ver[NMAX];
int capat,maxim;
int lungime=0;
void dfs(int node,int adancime)
{
ver[node]=1;
for(int i=0;i<v[node].size();i++)
{
int vecin = v[node][i];
if(ver[vecin]==0)
{
dfs(vecin,adancime+1);
}
}
if(adancime>maxim)
{
maxim=adancime;
capat=node;
}
}
int main()
{
int n;
fin >> n;
int x,y;
for(int i=1;i<=n;i++)
{
fin >> x >> y;
v[x].push_back(y);
v[y].push_back(x);
}
dfs(1,1);
for(int i=1;i<=n;i++) ver[i]=0;
maxim=-1;
dfs(capat,1);
fout << maxim;
return 0;
}