Pagini recente » Cod sursa (job #1672346) | Cod sursa (job #1874631) | Cod sursa (job #1567851) | Cod sursa (job #3221590) | Cod sursa (job #2612372)
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream f("zvon.in");
ofstream g("zvon.out");
int t, n;
int timp[100001];
vector < int > v[100001];
bool cmp(int a, int b)
{
return timp[a] > timp[b];
}
void dfs(int nod)
{
for (int i=0; i<v[nod].size(); i++)
dfs(v[nod][i]);
sort(v[nod].begin(), v[nod].end(), cmp);
for (int i=0; i<v[nod].size(); i++)
timp[nod] = max(timp[nod], timp[v[nod][i]] + i + 1);
}
int main()
{
f >> t;
while (t--)
{
f >> n;
for (int i=1; i<n; i++)
{
int x, y; f >> x >> y;
v[x].push_back(y);
}
dfs(1), g << timp[1] << "\n";
for (int i=1; i<=n; i++)
{
v[i].clear();
timp[i] = 0;
}
}
return 0;
}