Pagini recente » Cod sursa (job #2423171) | Cod sursa (job #1527273) | Cod sursa (job #70497) | Cod sursa (job #1939119) | Cod sursa (job #3213700)
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int n,lvlmax = 0,nodmax,d[100001];
vector<int>G[100001];
void dfs(int nod,int lvl,int tata){
if(lvl>lvlmax)
lvlmax = lvl,nodmax = nod;
for(auto x : G[nod])
if(x!=tata){
dfs(x,lvl+1,nod);
}
}
ifstream fin("darb.in");
ofstream fout("darb.out");
int main(){
fin>>n;
for(int i=1;i<n;i++)
{
int x,y; fin>>x>>y;
G[x].push_back(y);
G[y].push_back(x);
}
dfs(1,1,0);
queue<int>Q;
Q.push(nodmax);
int rez = 0;
d[nodmax]=1;
while(!Q.empty()){
int nod = Q.front();
Q.pop();
for(auto x : G[nod])
if(d[x]==0){
d[x]=d[nod]+1,Q.push(x);
rez = max(rez,d[x]);}
}
fout<<rez;
return 0;
}