Pagini recente » Cod sursa (job #3173464) | Cod sursa (job #1587285)
#include <bits/stdc++.h>
using namespace std;
ifstream in("zvon.in");
ofstream out("zvon.out");
#define MAX 100008
int test,i,j,n,t[MAX],x,y;
vector <int> v[MAX];
bool cmp(int a, int b)
{
return t[a]>t[b];
}
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);
}
int main()
{
in>>test;
while(test--)
{
in>>n;
for(int i=1; i<=n; i++)
v[i].clear();
for(int i=1; i<=n; i++)
t[i]=0;
memset(t,0,(n+1)*sizeof(int));
for(int i=1; i<n; i++)
{
in>>x>>y;
v[x].push_back(y);
}
dfs(1);
out<<t[1]<<'\n';
}
return 0;
}