Pagini recente » Cod sursa (job #345915) | Cod sursa (job #1800247) | Cod sursa (job #2606997) | Cod sursa (job #604389) | Cod sursa (job #3195388)
#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);
T[x]+=T[j];
}
sort(L[x].begin(),L[x].end(),[](int a,int b){return T[a]>T[b];});
}
void solve(int x,int t)
{
maxim=max(maxim,t);
for(int j=0;j<L[x].size();j++)
solve(L[x][j],t+j+1);
}
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]=1;
fin>>x>>y;
L[x].push_back(y);
}
maxim=0;
T[n]=1;
dfs(1);
solve(1,0);
fout<<maxim<<"\n";
}
return 0;
}