Pagini recente » Cod sursa (job #2059236) | Cod sursa (job #642070) | Cod sursa (job #2139115) | Cod sursa (job #697493) | Cod sursa (job #2638009)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
using namespace std;
ifstream fin("zvon.in");
ofstream fout("zvon.out");
vector<vector<int>> g;
int df(int nod)
{
vector<int> timp;
for (int neigh : g[nod])
{
timp.push_back(df(neigh));
}
sort(timp.begin(), timp.end());
reverse(timp.begin(), timp.end());
int TimpMax = 0;
for (int i = 0; i < timp.size(); i++)
{
TimpMax = max(TimpMax, i + 1 + timp[i]);
}
return TimpMax;
}
void sterge(int n)
{
for (int i = 1; i <= n; i++)
{
g[i].clear();
}
}
int main()
{
int t;
fin >> t;
while (t--)
{
int n;
fin >> n;
g.resize(n + 1);
for (int i = 1; i < n; i++)
{
int a, b;
fin >> a >> b;
g[a].push_back(b);
}
fout << df(1) << '\n';
sterge(n);
}
}
/*
*/