60592023-10-29 08:02:59GervidLegtávolabbi leszármazottcpp17Időlimit túllépés 4/50400ms18052 KiB
#include <iostream>
#include <vector>
#include <cstring>

using namespace std;

int main()
{
	int n, i;
	cin >> n;

	vector<pair<int, int>> connections;

	int temp1, temp2;
	for (i = 0; i < n-1; i++)
	{
		cin >> temp1 >> temp2;
		connections.emplace_back(temp1, temp2);
	}

	bool* nemvolt = new bool[n - 1];
	for (i = 0; i < n - 1; i++)
	{
		nemvolt[i] = 1;
	}

	for (i = 0; i < n-1; i++)
	{
		nemvolt[connections[i].second-1] = 0;
	}

	vector<int> currentlayer;

	for (i = 0; i < n - 1; i++)
	{
		if (nemvolt[i] == 1)
		{
			currentlayer.push_back(i + 1);
		}
	}

	vector<int> nextlayer;

	while (true)
	{
		for (i = 0; i < n - 1; i++)
		{
			for (int j = 0; j < currentlayer.size(); j++)
			{
				if (connections[i].first == currentlayer[j])
				{
					nextlayer.push_back(connections[i].second);
				}
			}
		}

		if (nextlayer.size() == 1)
		{
			cout << nextlayer[0];
			return 0;
		}

		currentlayer = nextlayer;
		nextlayer.clear();
	}
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base4/50
1Elfogadva0/03ms1808 KiB
2Időlimit túllépés0/0361ms3380 KiB
3Időlimit túllépés0/1372ms3284 KiB
4Hibás válasz0/33ms3536 KiB
5Hibás válasz0/33ms3752 KiB
6Elfogadva1/13ms3968 KiB
7Időlimit túllépés0/1370ms4024 KiB
8Hibás válasz0/13ms4144 KiB
9Időlimit túllépés0/2400ms5808 KiB
10Időlimit túllépés0/3363ms6908 KiB
11Időlimit túllépés0/3340ms6824 KiB
12Időlimit túllépés0/4370ms8284 KiB
13Időlimit túllépés0/4374ms9560 KiB
14Elfogadva3/368ms9996 KiB
15Hibás válasz0/363ms12912 KiB
16Hibás válasz0/359ms14136 KiB
17Hibás válasz0/364ms15212 KiB
18Hibás válasz0/448ms16016 KiB
19Hibás válasz0/457ms16960 KiB
20Hibás válasz0/468ms18052 KiB