Pagini recente » Cod sursa (job #1907903) | Cod sursa (job #1922179) | Istoria paginii runda/best | Istoria paginii runda/marienub | Cod sursa (job #2926362)
#include<bits/stdc++.h>
#define MAX 100005
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
int n,m,viz[MAX],x,a,b,cnt,maxx,nod1;
vector<int> v[MAX];
queue<int> q;
void bfs(int nod)
{
q.push(nod);
viz[nod]=1;
while(q.empty()==0)
{
nod=q.front();
q.pop();
for(int i:v[nod])
{
if(viz[i]==0)
{
q.push(i);
viz[i]=viz[nod]+1;
}
}
}
}
int main()
{
fin>>n;
for(int i=1;i<n;i++)
{
fin>>a>>b;
v[a].push_back(b);
v[b].push_back(a);
}
bfs(1);
for(int i=1;i<=n;i++)
{
if(viz[i]>maxx)
{
maxx=viz[i];
nod1=i;
}
}
for(int i=1;i<=n;i++)
{
viz[i]=0;
}
bfs(nod1);
maxx=0;
for(int i=1;i<=n;i++)
{
if(viz[i]>maxx)
{
maxx=viz[i];
}
}
fout<<maxx;
return 0;
}