Pagini recente » Cod sursa (job #1014241) | Cod sursa (job #1317132) | Cod sursa (job #517742) | Cod sursa (job #797535) | Cod sursa (job #2099116)
#include <bits/stdc++.h>
using namespace std;
ifstream F("zvon.in");
ofstream G("zvon.out");
int n, x, y, T;
vector<int> f[100005];
int sol(int x)
{
int k = 0, ans = 0;
if( !f[x].size() ) return ans;
vector<int> :: iterator it;
int t[100005];
for( it = f[x].begin(); it != f[x].end(); ++ it )
t[++k] = sol(*it)*-1;
sort(t+1, t+k+1);
ans = 0;
for(int i = k; i > 0; -- i)
{
t[i] *= -1;
ans = max(ans, t[i]+i);
}
return ans;
}
int main()
{
F >> T;
while(T--)
{
F >> n;
if(n == 1)
{
G << 0 << '\n';
continue;
}
memset(f, 0, sizeof(f));
for( int i = 1; i < n; ++ i )
F >> x >> y, f[x].push_back(y);
G << sol(1) << '\n';
}
return 0;
}