Pagini recente » Cod sursa (job #2497466) | Cod sursa (job #84967) | Profil Daria09 | Istoria paginii blog/oji-oni-2005 | Cod sursa (job #2005640)
#include<cstdio>
#include<vector>
#include<algorithm>
using namespace std;
const int nmax=1e5+5;
vector<int> g[nmax];
int n,m;
inline bool cmp(int a,int b)
{
return a>b;
}
inline int dfs(int node)
{
if(g[node].size())
{
int i,top=g[node].size(),val[top+3],currnode;
for(i=0;i<top;++i)
{
currnode=g[node][i];
val[i+1]=dfs(currnode);
}
sort(val+1,val+top+1,cmp);
int maxim=val[1]+1;
for(i=2;i<=top;++i)
if(val[i]+i>maxim)
maxim=val[i]+i;
return maxim;
}
else
return 0;
}
int main()
{
freopen("zvon.in","r",stdin);
freopen("zvon.out","w",stdout);
int tests;
scanf("%d",&tests);
while(tests--)
{
scanf("%d",&n);
int i;
for(i=1;i<=n;++i)
g[i].clear();
for(i=1;i<n;++i)
{
int x,y;
scanf("%d%d",&x,&y);
g[x].push_back(y);
}
printf("%d\n",dfs(1));
}
}