Pagini recente » Profil MihaelaCismaru | Cod sursa (job #3139196) | Cod sursa (job #1352783) | oni_cl_11-12_zi2 | Cod sursa (job #1973460)
#include <fstream>
#include <vector>
#include <algorithm>
#define MAXN 100005
using namespace std;
ifstream f ("zvon.in");
ofstream g ("zvon.out");
int t, n;
int sol[57][MAXN];
vector < int > v[MAXN];
inline int Compare(int x, int y){
return sol[t][x] > sol[t][y];
}
int DFS(int u){
for(int i = 0; i < v[u].size(); ++i){
int nod = v[u][i];
DFS(nod);
}
sort(v[u].begin(), v[u].end(), Compare);
for(int i = 0; i < v[u].size(); ++i){
sol[t][u] = max(sol[t][u], sol[t][v[u][i]] + i + 1);
}
}
int main(){
f >> t;
while(t != 0){
f >> n;
for(int i = 1; i < n; ++i){
int x, y;
f >> x >> y;
v[x].push_back(y);
}
DFS(1);
if(n != 1) g << sol[t][1] << '\n';
else g << 0 << '\n';
for(int i = 1; i <= n; ++i) v[i].clear();
--t;
}
}