Cod sursa(job #2638009)

Utilizator sebimihMihalache Sebastian sebimih Data 26 iulie 2020 13:28:35
Problema Zvon Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#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);
	}
}

/*

	

*/