Pagini recente » Cod sursa (job #444673) | Cod sursa (job #3225348) | Profil StarGold2 | Cod sursa (job #131369) | Cod sursa (job #2886427)
#include <bits/stdc++.h>
using namespace std;
const int NMAX = 1e5;
vector <int> e[NMAX + 5];
queue <int> q;
bool viz[NMAX + 5];
int dist[NMAX + 5];
int node,mx = 0;
void bfs(int nod) {
q.push(nod);
dist[nod] = 1;
viz[nod] = 1;
while (!q.empty()) {
nod = q.front();
q.pop();
for (int i = 0;i < e[nod].size();i++) {
if (!viz[e[nod][i]]) {
viz[e[nod][i]] = 1;
mx = dist[nod] + 1;
dist[e[nod][i]] = mx;
node = e[nod][i];
q.push(e[nod][i]);
}
}
}
}
int main()
{
ifstream fin("darb.in");
ofstream fout("darb.out");
int n,a,b;
fin >> n;
for (int i = 0;i < n - 1;i++) {
fin >> a >> b;
e[a].push_back(b);
e[b].push_back(a);
}
bfs(1);
memset(viz, 0, sizeof(viz));
memset(dist, 0, sizeof(dist));
bfs(node);
fout << mx;
return 0;
}