Pagini recente » Cod sursa (job #57995) | Cod sursa (job #2655977) | Cod sursa (job #1475636) | Cod sursa (job #2075175) | Cod sursa (job #2360542)
#include <fstream>
#include <vector>
using namespace std;
ifstream in ( "darb.in" );
ofstream out ( "darb.out" );
const int N_MAX = 100005;
int N;
vector<int> a[N_MAX];
int dist[N_MAX];
int sol;
void read() {
in >> N;
for (int i = 1; i < N; ++i) {
int x, y;
in >> x >> y;
a[x].push_back(y);
a[y].push_back(x);
}
}
void dfs(int node) {
for (int i = 0; i < int(a[node].size()); ++i)
if (!dist[a[node][i]]) {
dist[a[node][i]] = 1 + dist[node];
if (dist[a[node][i]] > dist[sol])
sol = a[node][i];
dfs(a[node][i]);
}
}
int main() {
read();
sol = 1;
dist[1] = 1;
dfs(1);
for (int i = 1; i <= N; ++i)
dist[i] = 0;
dist[sol] = 1;
dfs(sol);
out << dist[sol];
}