Pagini recente » Cod sursa (job #1825148) | Cod sursa (job #2396278) | Cod sursa (job #2488279) | Cod sursa (job #1374498) | Cod sursa (job #210882)
Cod sursa(job #210882)
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
#define MAX_N 100003
#define pb push_back
int T, N, Niv[MAX_N];
vector <int> V[MAX_N];
struct cmp
{
bool operator()(const int &a, const int &b)
{
return Niv[a] > Niv[b];
}
};
void get_level(int k)
{
for(int i = 0; i < V[k].size(); ++i)
{
int t = V[k][i];
get_level(t);
}
Niv[k] = 0;
sort(V[k].begin(),V[k].end(),cmp());
for(int i = 0; i < V[k].size();++i)
Niv[k] = max(Niv[k], Niv[V[k][i]] + i + 1);
}
void citire()
{
int a,b;
scanf("%d",&N);
for(int i = 1; i < N; ++i)
{
scanf("%d %d",&a,&b);
V[a].pb(b);
}
get_level(1);
printf("%d\n",Niv[1]);
}
int main()
{
freopen("zvon.in","rt",stdin);
freopen("zvon.out","wt",stdout);
scanf("%d",&T);
while(T--)
{
for(int i = 0; i < N; ++i)
{
V[i].clear();
Niv[i] = 0;
}
citire();
}
}