Pagini recente » Cod sursa (job #2751828) | Cod sursa (job #1214066) | Cod sursa (job #2982471) | Cod sursa (job #164436) | Cod sursa (job #2277494)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin ("darb.in");
ofstream fout ("darb.out");
int v[100005], n, x, y, maxim = -1, ch;
vector <int> L[100005];
void dfs(int nod, int pas){
v[nod] = pas;
if(maxim < pas){
maxim = pas;
ch = nod;
}
for(int i = 0; i < L[nod].size(); i++){
int vecin = L[nod][i];
if(v[vecin] == 0){
dfs(vecin, pas + 1);
}
}
}
int main()
{
fin>>n;
for(int i = 1; i < n; i++){
fin>>x>>y;
L[x].push_back(y);
L[y].push_back(x);
}
dfs(1, 1);
for(int i = 1; i <= n; i++){
v[i] = 0;
}
maxim = -1;
dfs(ch, 1);
fout<<maxim;
return 0;
}