Pagini recente » Cod sursa (job #2190428) | Cod sursa (job #2192193) | Cod sursa (job #1121287) | Cod sursa (job #2100131) | Cod sursa (job #2556463)
#include <bits/stdc++.h>
using namespace std;
ifstream in("zvon.in");
ofstream out("zvon.out");
const int N=1e5+5;
vector<int>G[N];
int t, n, i, a, b;
int d[N];
bool cmp(int a, int b)
{
return d[a]>d[b];
}
void dfs(int nod)
{
if(G[nod].size() == 0)
d[nod] = 0;
vector<int>:: iterator it;
for(it=G[nod].begin(); it<G[nod].end(); it++)
dfs(*it);
sort(G[nod].begin(), G[nod].end(), cmp);
for(int i=0; i<G[nod].size(); i++)
d[nod] = max(d[nod], d[G[nod][i]]+i+1);
}
int main()
{
in >> t;
while(t--)
{
in >> n;
for(i=1; i<=n; i++)
{
G[i].clear();
d[i] = 0;
}
for(i=1; i<n; i++)
{
in >> a >> b;
G[a].push_back(b);
}
dfs(1);
out << d[1] << '\n';
}
return 0;
}