Pagini recente » Cod sursa (job #1050372) | Cod sursa (job #2090049) | Cod sursa (job #1265633) | Cod sursa (job #964057) | Cod sursa (job #1542914)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("zvon.in");
ofstream fout("zvon.out");
const int NMax = 1e5 + 5;
bool Used[NMax];
vector < int > G[NMax];
int Solve(const int &node){
vector < int > A;
Used[node] = 1;
for(auto it: G[node]){
if(!Used[it]){
A.push_back(Solve(it));
}
}
sort(A.begin(), A.end());
int M = 0, k = A.size();
for(auto it: A){
M = max(M, it + k);
k--;
}
return M;
}
int main(){
int t, n, a, b;
fin >> t;
while(t--){
fin >> n;
for(int i = 1; i < n; i++){
fin >> a >> b;
G[a].push_back(b);
G[b].push_back(a);
}
fout << Solve(1) << "\n";
for(int i = 1; i <= n; i++) G[i].clear();
memset(Used, 0, sizeof(Used));
}
return 0;
}