Pagini recente » Cod sursa (job #2653566) | Cod sursa (job #2107739) | Cod sursa (job #716364) | Cod sursa (job #2742362) | Cod sursa (job #2246747)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("zvon.in");
ofstream fout("zvon.out");
int t;
vector<int>G[100001];
int d[100001];
int n;
void citire()
{
for(int i =1; i<=n; ++i)
{
G[i].clear(),d[i]=0;
}
fin >> n ;
for(int i =1 ; i<=n-1; ++i)
{
int x,y;
fin>>x>>y;
G[x].push_back(y);
}
}
bool cmp(int i,int j)
{
return d[i]>d[j];
}
void dfs(int node)
{
if(!G[node].size())
{
d[node]=0;
return;
}
for(int y = 0 ; y<G[node].size(); ++y)
{
dfs(G[node][y]);
}
sort(G[node].begin(),G[node].end(),cmp);
for(int k = 0 ; k<G[node].size(); ++k)
{
d[node]=max(d[node],d[G[node][k]]+k+1);
}
}
int main()
{
fin >> t;
for(int k=1; k<=t; ++k)
{
citire();
dfs(1);
fout<<d[1]<<"\n";
}
return 0;
}