Pagini recente » Cod sursa (job #2745034) | Cod sursa (job #2156928) | Cod sursa (job #566349) | Cod sursa (job #3158255) | Cod sursa (job #1199312)
#include <fstream>
#include <vector>
#include <cstring>
#include <algorithm>
using namespace std;
ifstream is ("zvon.in");
ofstream os ("zvon.out");
int T;
int N, c[100002];
vector <int> v[100002];
void Solve();
void DFS(int i);
inline int CMP(const int a, const int b){
return (c[a] > c[b]);
}
int main()
{
for(is >> T; T; --T)
Solve();
is.close();
os.close();
}
void Solve()
{
is >> N;
int a, b;
for (int i = 1; i < N; ++i)
{
is >> a >> b;
v[a].push_back(b);
}
DFS(1);
os << c[1] << '\n';
for (int i = 1; i <= N; ++i) v[i].clear(); memset(c, 0, sizeof(c));
};
void DFS(int i)
{
if (v[i].empty()) return;
for (int j = 0; j < v[i].size(); ++j)
DFS(v[i][j]);
sort(v[i].begin(), v[i].end(), CMP);
for (int j = 0; j < v[i].size(); ++j)
c[i] = max(c[i], c[v[i][j]]+j+1);
};