Pagini recente » Cod sursa (job #2957655) | Cod sursa (job #375308) | Cod sursa (job #2333371) | Cod sursa (job #3273547) | Cod sursa (job #1985415)
#include <bits/stdc++.h>
#define NMAX 100005
using namespace std;
ifstream f("darb.in");
ofstream g("darb.out");
int N, x, y, last;
vector < int > G[NMAX];
void bfs(int source, vector < int > &dist) {
dist[source] = 0;
queue < int > Q;
Q.push(source);
while (Q.size()) {
int node = Q.front();
Q.pop();
for (auto it : G[node]) {
if (dist[node] + 1 < dist[it]) {
dist[it] = dist[node] + 1;
Q.push(it);
last = it;
}
}
}
}
int main() {
f >> N;
vector < int > dist(N + 1, (1 << 30));
for (int i = 1; i < N; ++i) {
f >> x >> y;
G[x].push_back(y);
G[y].push_back(x);
}
bfs(1, dist);
fill(dist.begin(), dist.end(), (1 << 30));
bfs(last, dist);
g << dist[last] + 1 << '\n';
}