Pagini recente » Cod sursa (job #1635584) | Cod sursa (job #2651153) | Cod sursa (job #1620197) | Cod sursa (job #2602987) | Cod sursa (job #2407240)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("nr.in");
int df(int a[][100],int n,int d[],int x)
{
for(int i=1;i<=n;i++)
if(a[x][i] && d[i]==-1)
{
d[i]=d[x]+1;
df(a,n,d,i);
}
}
int a[100][100];
int main()
{
int d[100],x,y,n,vf1,vf2,maxi=-1;
fin>>n;
for(int i=1;i<=n;i++)
d[i]=-1;
d[1]=0;
for(int i=1;i<n;i++)
{
fin>>x>>y;
a[x][y]=a[y][x]=1;
}
df(a,n,d,1);
for(int i=1;i<=n;i++)
if(d[i]>maxi)
{
maxi=d[i];
vf2=i;
}
for(int i=1;i<=n;i++)
d[i]=-1;
d[vf2]=0;
maxi=-1;
df(a,n,d,vf2);
for(int i=1;i<=n;i++)
if(d[i]>maxi)
{
maxi=d[i];
vf1=i;
}
maxi++;
cout<<vf1<<' '<<vf2<<' '<<maxi;
return 0;
}