Pagini recente » Cod sursa (job #57033) | Cod sursa (job #580527) | Cod sursa (job #829476) | Cod sursa (job #555897)
Cod sursa(job #555897)
# include <fstream>
# include <iostream>
# include <vector>
# include <set>
# define DIM 100003
# define max(a,b) (a>b?a:b)
using namespace std;
int n, s[DIM];
vector<int>G[DIM];
multiset<int>S[DIM];
void DF (int k)
{
for(vector<int>::iterator I=G[k].begin();I!=G[k].end();++I)
{
DF(*I);
S[k].insert(-s[*I]);
}
for(int i=1;i<=G[k].size();++i)
{
s[k]=max(s[k],-(*S[k].begin())+i);
S[k].erase(S[k].begin());
}
}
int main()
{
ifstream fin ("zvon.in");
ofstream fout ("zvon.out");
int t;
fin>>t;
for(;t--;)
{
fin>>n;
int x,y;
for(int i=1;i<n;++i)
{
fin>>x>>y;
G[x].push_back(y);
}
DF(1);
fout<<s[1]<<"\n";
for(int i=1;i<=n;++i)
{
s[i]=0;
G[i].erase(G[i].begin(),G[i].end());
}
}
return 0;
}