Pagini recente » Cod sursa (job #1750031) | Cod sursa (job #1643290) | Cod sursa (job #3169216) | Cod sursa (job #508388) | Cod sursa (job #1095477)
#include <cstdio>
#include <vector>
#include <bitset>
using namespace std;
const int NMAX = 100002;
bitset <NMAX> vis;
vector <int> T[NMAX];
int max_depth, final_node;
void DFS (const int &node, const int &depth) {
vis[node] = 1;
if (max_depth < depth) {
final_node = node;
max_depth = depth;
}
for (int i = 0; i < T[node].size (); ++i)
if (!vis[T[node][i]])
DFS (T[node][i], depth + 1);
}
int main () {
freopen ("darb.in", "r", stdin);
freopen ("darb.out", "w", stdout);
int N, i, a, b;
scanf ("%d", &N);
for (i = 1; i < N; ++i) {
scanf ("%d%d", &a, &b);
T[a].push_back (b);
T[b].push_back (a);
}
DFS (1, 1);
vis.reset ();
max_depth = 0;
DFS (final_node, 1);
printf ("%d", max_depth);
}