Pagini recente » Cod sursa (job #3196415) | Cod sursa (job #1546245) | Cod sursa (job #2945204) | Cod sursa (job #2065955) | Cod sursa (job #2560761)
#include <fstream>
#include <vector>
#include <cstring>
#include <algorithm>
#define Nmax 100005
using namespace std;
ifstream f("zvon.in");
ofstream g("zvon.out");
vector <int> v[Nmax];
int t;
int n, a, b;
int d[Nmax];
bool cmp(int a, int b)
{
return d[a]>d[b];
}
void dfs(int x)
{
for ( int j = 0, l=v[x].size(); j < l; j ++ )
dfs(v[x][j]);
sort(v[x].begin(), v[x].end(), cmp);
for ( int i = 0, l=v[x].size(); i < l; i ++ )
{
int y=v[x][i];
d[x]=max(d[x], d[y]+i+1);
}
}
int main()
{
f >> t;
while(t --)
{
for ( int i = 1; i <= n; i ++ )
v[i].clear(), d[i]=0;
f >> n;
for ( int i = 1; i < n; i ++ )
{
f >> a >> b;
v[a].push_back(b);
}
dfs(1);
g << d[1] << '\n';
}
return 0;
}