Pagini recente » Cod sursa (job #1300759) | Cod sursa (job #1345790) | Cod sursa (job #1355858) | Cod sursa (job #2735459) | Cod sursa (job #2715959)
#include <fstream>
#include <vector>
#define NMAX 100000
using namespace std;
ifstream cin("darb.in");
ofstream cout("darb.out");
int viz[NMAX+1], l, n, maxi, last;
vector <int> v[NMAX+1];
void read()
{
int n1,n2;
cin>>n;
for (int i=1; i<=n; i++)
{
cin>>n1>>n2;
v[n1].push_back(n2);
v[n2].push_back(n1);
}
}
void dfs(int nod, int lung)
{
viz[nod] = 1;
if (lung>maxi)
maxi = lung, last = nod;
for (int i=0; i<v[nod].size(); i++)
if (!viz[v[nod][i]])
{
dfs(v[nod][i], lung+1);
}
viz[nod] = 0;
}
int main()
{
read();
dfs(1, 0);
dfs(last, 0);
cout<< maxi + 1;
}