Pagini recente » Cod sursa (job #1109806) | Cod sursa (job #599137) | Cod sursa (job #326252) | Cod sursa (job #1512695) | Cod sursa (job #2164462)
#include <bits/stdc++.h>
using namespace std;
ifstream f("darb.in");
ofstream g("darb.out");
vector<int> a[100001];
bool verif[100001];
int n,i,x,y,d[100001],maxi,pmax;
void dfs(int x)
{ verif[x]=1;
for(int j=0;j<a[x].size();j++)
if(verif[a[x][j]]==0)
{ d[a[x][j]]=d[x]+1;
dfs(a[x][j]);
}
}
int main()
{ f>>n;
for(i=1;i<=n;i++)
{ f>>x>>y;
a[x].push_back(y);
a[y].push_back(x);
}
d[1]=1;
dfs(1);
/*for(i=1;i<=n;i++)
g<<d[i]<<" ";
g<<endl;*/
for(i=1;i<=n;i++)
{
if(maxi<d[i])
{ maxi=d[i];
pmax=i;
}
d[i]=0;
verif[i]=0;
}
//g<<pmax<<" ";
d[pmax]=1;
dfs(pmax);
maxi=0;
/*for(i=1;i<=n;i++)
g<<d[i]<<" ";*/
for(i=1;i<=n;i++)
if(maxi<d[i])
maxi=d[i];
g<<maxi;
return 0;
}