Pagini recente » Cod sursa (job #2172099) | Cod sursa (job #1106628) | Cod sursa (job #906458) | Cod sursa (job #2630165) | Cod sursa (job #99562)
Cod sursa(job #99562)
#include<vector>
#include<algorithm>
#include<stdio.h>
using namespace std;
int t,n,i,x,y;
vector <int> a[100001];
int df(int vf)
{int i,min,j;
vector <int> v;
min=0;
for(i=0;i<a[vf].size();i++)
v.insert(v.end(),df(a[vf][i])+1);
std::sort(v.begin(),v.end());
for(i=v.size()-1,j=0;i>=0;i--,j++)
if(v[i]+j>min) min=v[i]+j;
return min;}
int main()
{freopen("zvon.in","r",stdin);
freopen("zvon.out","w",stdout);
scanf("%d",&t);
for(;t;t--)
{scanf("%d",&n);
for(i=1;i<=n;i++) a[x].erase(a[x].begin(),a[x].end());
for(i=1;i<n;i++) {scanf("%d %d",&x,&y); a[x].push_back(y);}
if(n==1) printf("0\n");
else printf("%d\n",df(1));}
fclose(stdout);
return 0;}