Pagini recente » Cod sursa (job #3252765) | Cod sursa (job #3172099) | Cod sursa (job #2388031) | Cod sursa (job #2967425) | Cod sursa (job #2817151)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream fin("zvon.in");
ofstream fout("zvon.out");
const int M=100005;
int t,n,tmax,a,b,tm[M];
vector < int > v[M];
bool cmp(int a, int b)
{
return tm[a]>tm[b];
}
void DFS(int nod)
{
int niv=1;
for(auto vec : v[nod])
DFS(vec);
sort(v[nod].begin(),v[nod].end(),cmp);
for(auto vec : v[nod])
{
tm[nod]=max(tm[nod],tm[vec]+niv);
niv++;
}
}
int main()
{
fin >> t;
for(;t;--t)
{
fin >> n;
tmax=0;
for(int i=0;i<n;i++)
{
v[i].clear();
tm[i]=0;
}
for(int i=1;i<n;i++)
{
fin >> a >> b;
v[a].push_back(b);
}
DFS(1);
fout << tm[1] << '\n';
}
return 0;
}