Pagini recente » Cod sursa (job #627616) | Cod sursa (job #1693997) | Cod sursa (job #176453) | Cod sursa (job #100659) | Cod sursa (job #1511629)
#include<fstream>
#include<queue>
#include<vector>
using namespace std;
#define DIM 100010
ifstream fin("zvon.in");
ofstream fout("zvon.out");
int n;
int dp[DIM];
vector<int> L[DIM];
void DFS(int node) {
priority_queue<int> H;
dp[node] = 0;
for(int i = 0; i < L[node].size(); i++) {
int child = L[node][i];
DFS(child);
H.push(dp[child]);
}
for(int i = 1; H.size(); H.pop(), i++) {
dp[node] = max(dp[node], H.top() + i);
}
}
int main() {
int testsCount;
fin >> testsCount;
while(testsCount--) {
fin >> n;
for(int i = 1; i <= n; i++)
L[i].clear();
for (int i = 1; i < n; i++) {
int x, y;
fin >> x >> y;
L[x].push_back(y);
}
DFS(1);
fout << dp[1] << "\n";
}
return 0;
}
//Miriam e tare!