Pagini recente » Cod sursa (job #256551) | Cod sursa (job #297889) | Cod sursa (job #1904107) | Cod sursa (job #477407) | Cod sursa (job #3195511)
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream fin ("zvon.in");
ofstream fout("zvon.out");
int n,m,i,x,t,y,maxim,T[100003];
vector <int> L[100003];
void dfs(int x)
{
for(auto j:L[x])
dfs(j);
sort(L[x].begin(),L[x].end(),[](int a,int b){return T[a]>=T[b];});
int nr=1;
for(auto j:L[x])
{
T[x]=max(T[x],T[j]+nr);
nr++;
}
}
int main()
{
fin>>t;
while(t--)
{
fin>>n;
for(i=1;i<=n;i++)
L[i].clear();
for(i=1;i<n;i++)
{
T[i]=0;
fin>>x>>y;
L[x].push_back(y);
}
maxim=0;
T[n]=0;
dfs(1);
fout<<T[1]<<"\n";
}
return 0;
}