Pagini recente » Cod sursa (job #1383238) | Cod sursa (job #2274345) | Cod sursa (job #2829525) | Cod sursa (job #1034336) | Cod sursa (job #1369718)
#include <cstdio>
#include <algorithm>
#include <vector>
#define NMAX 100005
using namespace std;
int n,T,x,y;
int t[NMAX];
vector<int>v[NMAX];
int cmp(int r,int p)
{
if (t[r] > t[p]) return 1;
return 0;
}
void DFS(int nod)
{
for(int i = 0; i < v[nod].size(); ++i)
DFS(v[nod][i]);
sort(v[nod].begin(),v[nod].end(),cmp);
for(int i = 0; i < v[nod].size(); ++i)
t[nod]=max(t[nod],t[v[nod][i]]+i+1);
}
void init()
{
for(int i = 1; i <= n; ++i)
{
t[i]=0;
v[i].resize(0);
}
}
int main()
{
freopen("zvon.in","r",stdin);
freopen("zvon.out","w",stdout);
scanf("%d",&T);
while(T > 0)
{
--T;
init();
scanf("%d",&n);
for(int i = 1; i < n; ++i)
{
scanf("%d%d",&x,&y);
v[x].push_back(y);
}
DFS(1);
printf("%d\n",t[1]);
}
return 0;
}