Pagini recente » Cod sursa (job #1146145) | Cod sursa (job #674008) | algoritmiada-2019/runda-maraton/solutii/niciomare | Cod sursa (job #1150746) | Cod sursa (job #210883)
Cod sursa(job #210883)
#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();
citire();
}
}