Pagini recente » Cod sursa (job #2683952) | Cod sursa (job #466764) | Cod sursa (job #608364) | Cod sursa (job #2284604) | Cod sursa (job #2103992)
#include <bits/stdc++.h>
using namespace std;
int vertices, u, v
vector<int> adj[100001];
int BFS(int start)
{
stack<int> q; q.push(start);
int level[100001]{}; level[start]++;
while(1)
{
int current = q.front(); q.pop();
for(int child : adj[current])
{
if(level[child] == 0)
{
q.push(child);
level[child] = level[current] + 1;
}
}
if(q.empty()) return current;
}
}
int main()
{
freopen("darb.in", "r", stdin);
freopen("darb.out", "w", stdout);
scanf("%d", &vertices);
for(int i = 1; i < vertices; i++)
{
scanf("%d %d", &u, &v);
adj[u].push_back(v);
adj[v].push_back(u);
}
printf("%d", level(BFS(BFS(1))));
return 0;
}