Pagini recente » Cod sursa (job #1171587) | Cod sursa (job #2162147) | Cod sursa (job #3152) | Cod sursa (job #602741) | Cod sursa (job #1511896)
#include <vector>
#include <fstream>
#include <algorithm>
#define DIM 100005
using namespace std;
ifstream fin("zvon.in");
ofstream fout("zvon.out");
int N, T, s[DIM];
int a[DIM];
vector <int> v[DIM];
void dfs(int x){
s[x]=0;
int k =0;
for(std::vector <int>::iterator it=v[x].begin();it!=v[x].end();it++){
dfs(*it);
//a[++k] = s[*it];
}
for(std::vector <int>::iterator it=v[x].begin();it!=v[x].end();it++){
// dfs(*it);
a[++k] = s[*it];
}
sort(a + 1, a + k + 1);
for(int i=k;i>=1;i--)
s[x] = max(s[x], a[i] + (k-i+1));
}
int main(){
fin >> T;
while(T--){
fin >> N;
for(int i=1;i<=N;i++){
v[i].clear();
s[i]=0;
}
for(int i=1;i<N;i++){
int x,y;
fin >> x >> y;
v[x].push_back(y);
}
dfs(1);
fout << s[1] << "\n";
}
fin.close();fout.close();
return 0;
}