Pagini recente » Istoria paginii runda/cni_preoji/clasament | Cod sursa (job #1923180) | Cod sursa (job #475770) | Istoria paginii runda/124475824691316/clasament | Cod sursa (job #2838400)
#include<fstream>
#include<vector>
using namespace std;
ifstream cin("darb.in");
ofstream cout("darb.out");
vector <int> g[100001];
int x,y,n,m,viz[100001],sol,maxi,d[100001],poz;
void dfs(int nod)
{
viz[nod]=1;
for(int i=0;i<g[nod].size();i++)
if(viz[g[nod][i]]==0)
{
d[g[nod][i]]=d[nod]+1;
dfs(g[nod][i]);
}
}
int main()
{
cin>>n;
for(int i=1;i<n;i++)
{
cin>>x>>y;
g[x].push_back(y);
g[y].push_back(x);
}
dfs(1);
for(int i=1;i<=n;i++)
if(d[i]>maxi)
{
maxi=d[i];
poz=i;
}
maxi=0;
for(int i=1;i<=n;i++)
d[i]=0;
for(int i=1;i<=n;i++)
viz[i]=0;
dfs(poz);
for(int i=1;i<=n;i++)
if(d[i]>maxi)
maxi=d[i];
cout<<maxi+1;
return 0;
}