Pagini recente » Cod sursa (job #34128) | Cod sursa (job #1852740) | Cod sursa (job #6040) | Cod sursa (job #943080) | Cod sursa (job #2246809)
#include <fstream>
#include <vector>
#define DIM 100005
using namespace std;
ifstream fin ("darb.in");
ofstream fout ("darb.out");
vector <int> L[DIM];
int n, i, j, p, u, nod, o, v[DIM], c[DIM], l[DIM], k;
int bfs(int start) {
v[start] = 1;
c[1] = start;
int p = 1, u = 1;
while (p <= u) {
int nod = c[p];
for (i=0;i<L[nod].size();i++) {
int vecin = L[nod][i];
if (v[vecin] == 0) {
c[++u] = vecin;
v[vecin] = 1;
l[vecin] = 1 + l[nod];
}
}
p++;
}
o = l[c[u]];
return c[u];
}
int main()
{
fin >> n;
for (int t=1; t<=n-1; t++){
fin >> i >> j;
L[i].push_back(j);
L[j].push_back(i);
}
k = bfs(1);
for (i=1; i<=n; i++){
v[i] = 0;
l[i] = 0;
}
bfs(k);
fout << o + 1;
return 0;
}