Pagini recente » Cod sursa (job #942189) | Cod sursa (job #2875688) | Cod sursa (job #2466130) | Cod sursa (job #1489518) | Cod sursa (job #1840252)
#include<fstream>
#include<cstring>
#include<vector>
#include<algorithm>
#define NMax 100005
using namespace std;
ifstream fin("zvon.in");
ofstream fout("zvon.out");
int T,N,Sol;
int DP[NMax];
vector <int> G[NMax];
void Read()
{
fin>>N;
memset(DP,0,sizeof(DP));
for(int i = 1 ; i <= N ; ++i)
G[i].clear();
for(int i = 1 ; i < N ; ++i)
{
int x,y; fin>>x>>y;
G[x].push_back(y);
}
}
bool Comp(int A,int B)
{
return (DP[A] > DP[B]);
}
void DFS(int Nod)
{
for(int i = 0 ; i < (int) G[Nod].size() ; ++i)
{
int Vecin = G[Nod][i];
DFS(Vecin);
}
sort(G[Nod].begin(),G[Nod].end(),Comp);
for(int i = 0 ; i < (int) G[Nod].size() ; ++i)
{
int Vecin = G[Nod][i];
DP[Nod] = max(DP[Nod],DP[Vecin] + i + 1);
}
}
int main()
{
fin>>T;
while(T--)
{
Read();
DFS(1);
fout<<DP[1]<<"\n";
}
fin.close();
fout.close();
return 0;
}