Pagini recente » Cod sursa (job #201187) | Cod sursa (job #1662749) | Cod sursa (job #1715184) | Cod sursa (job #3122052) | Cod sursa (job #1456883)
#include <cstdio>
#include <vector>
#include <queue>
#define pb push_back
using namespace std;
vector <int> v[100010];
queue <int> q;
int n, a[100010], ultim;
inline void parcurgere (int x)
{
for (int i = 1; i <= n; ++i)
a[i] = 0;
q.push (x);
a[x] = 1;
while (!q.empty ())
{
int y = q.front ();
for (int i = 0; i < v[y].size (); ++i)
if (!a[v[y][i]])
{
q.push (v[y][i]);
a[v[y][i]] = a[y] + 1;
ultim = v[y][i];
}
q.pop ();
}
}
int main ()
{
freopen ("darb.in", "r", stdin);
freopen ("darb.out", "w", stdout);
scanf ("%d", &n);
for (int i = 1; i <= n; ++i)
{
int x, y;
scanf ("%d %d", &x, &y);
v[x].pb (y);
v[y].pb (x);
}
parcurgere (1);
parcurgere (ultim);
printf ("%d\n", a[ultim]);
return 0;
}