Pagini recente » Cod sursa (job #2545443) | Cod sursa (job #3259319) | Cod sursa (job #926286) | Cod sursa (job #56797) | Cod sursa (job #2612311)
#include <fstream>
#include <vector>
#include <queue>
#include <algorithm>
using namespace std;
ifstream f("zvon.in");
ofstream g("zvon.out");
int t, n;
int poz[100001];
vector < int > v[100001];
queue < int > coada;
bool cmp(int a, int b)
{
if (v[a].size() > v[b].size())
return true;
return false;
}
void dfs(int nod, int timp, int &timpMax)
{
timpMax = max(timpMax, timp);
for (int i=0; i<v[nod].size(); i++)
dfs(v[nod][i], timp+i+1, timpMax);
}
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);
}
for (int i=1; i<=n; i++)
sort(v[i].begin(), v[i].end(), cmp);
int timp = 0;
dfs(1, 0, timp);
g << timp << "\n";
for (int i=1; i<=n; i++)
{
v[i].clear();
poz[i] = 0;
}
}
return 0;
}