Pagini recente » Cod sursa (job #2552605) | Cod sursa (job #2754276) | Cod sursa (job #2538556) | Cod sursa (job #2541111) | Cod sursa (job #2541976)
#include <bits/stdc++.h>
#define Nmax 100005
using namespace std;
ifstream f("zvon.in");
ofstream g("zvon.out");
int N, T;
int dp[Nmax], v[Nmax];
vector<int> G[Nmax];
void DFS(int node) {
for (auto it: G[node])
DFS(it);
int K = 0;
for (auto it: G[node])
v[++K] = dp[it];
sort(v + 1, v + K + 1);
for (int i = 1; i <= K; ++i)
dp[node] = max(dp[node], v[i] + K - i + 1);
}
int main()
{
f >> T;
while(T > 0) {
--T;
f >> N;
for (int i = 1; i <= N; ++i)
dp[i] = 0, G[i].clear();
for (int i = 1; i < N; ++i) {
int x, y;
f >> x >> y;
G[x].push_back(y);
}
DFS(1);
g << dp[1] << '\n';
}
return 0;
}