Pagini recente » Cod sursa (job #2948973) | Cod sursa (job #904307) | Cod sursa (job #725152) | Cod sursa (job #563978) | Cod sursa (job #2204196)
#include <iostream>
#include <fstream>
#include <vector>
#include <deque>
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
int n,i,j,nr,a,b,cp1,d[100005],rez;
bool viz[100005];
vector<int> vec[100005];
deque<int> q;
int main() {
fin>>n;
for(i=1;i<n;i++)
{
fin>>a>>b;
vec[a].push_back(b);
vec[b].push_back(a);
}
q.push_back(1);
viz[1]=1;
while(!q.empty())
{
cp1=q.front();
q.pop_front();
for(i=0;i<vec[cp1].size();i++)
if(viz[vec[cp1][i]]==0)
{
viz[vec[cp1][i]]=1;
q.push_back(vec[cp1][i]);
}
}
d[cp1]=1;
q.push_back(cp1);
while(!q.empty())
{
a=q.front();
q.pop_front();
for(i=0;i<vec[a].size();i++)
if(d[vec[a][i]]==0)
{
d[vec[a][i]]=d[a]+1;
if(d[a]+1>rez) rez=d[a]+1;
q.push_back(vec[a][i]);
}
}
fout<<rez<<"\n";
return 0;
}