3971 2023. 03. 07 07:42:31 CWM Elágazás nélküli úton levő települések (50 pont) cpp17 Elfogadva 50/50 14ms 5920 KiB
// Nemes2.cpp : This file contains the 'main' function. Program execution begins and ends there.
//

#include <iostream>
#include <algorithm>
#include <climits>
#include <vector>
#include <queue>
#include <unordered_set>

using namespace std;

vector<int> solution;
void DFS(int a, vector<vector<int>>& graph, int cameFrom) {
	if (graph[a].size() > 2) return;
	for (size_t i = 0; i < graph[a].size(); i++)
	{
		if (graph[a][i] != cameFrom) {
			solution.push_back(graph[a][i]);
			DFS(graph[a][i], graph, a);
		}
	}
}

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(nullptr);
	cout.tie(nullptr);

	int v, e;
	cin >> v >> e;
	vector<vector<int>> Neighbours(v + 1);
	for (size_t i = 0; i < e; i++)
	{
		int a, b;
		cin >> a >> b;
		Neighbours[a].push_back(b);
		Neighbours[b].push_back(a);
	}
	vector<int> zf;
	for (size_t i = 1; i < Neighbours.size(); i++)
	{
		if (Neighbours[i].size() == 1) {
			zf.push_back(i);
		}
	}
	for (size_t i = 0; i < zf.size(); i++)
	{
		DFS(zf[i], Neighbours, -1);
	}
	sort(solution.begin(), solution.end());
	vector<int> sol;
	if (solution.size() != 0) {
		sol.push_back(solution[0]);
		for (size_t i = 1; i < solution.size(); i++)
		{
			if (solution[i] != solution[i - 1]) sol.push_back(solution[i]);
		}
	}
	cout << sol.size() << "\n";
	for (size_t i = 0; i < sol.size(); i++)
	{
		cout << sol[i] << " ";
	}
}

// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu

// Tips for Getting Started: 
//   1. Use the Solution Explorer window to add/manage files
//   2. Use the Team Explorer window to connect to source control
//   3. Use the Output window to see build output and other messages
//   4. Use the Error List window to view errors
//   5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
//   6. In the future, to open this project again, go to File > Open > Project and select the .sln file
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 2088 KiB
2 Elfogadva 0/0 14ms 4168 KiB
3 Elfogadva 2/2 3ms 2320 KiB
4 Elfogadva 2/2 3ms 2420 KiB
5 Elfogadva 2/2 3ms 2500 KiB
6 Elfogadva 2/2 3ms 2624 KiB
7 Elfogadva 2/2 3ms 3116 KiB
8 Elfogadva 2/2 3ms 3328 KiB
9 Elfogadva 2/2 4ms 3496 KiB
10 Elfogadva 2/2 4ms 3896 KiB
11 Elfogadva 2/2 8ms 4460 KiB
12 Elfogadva 2/2 8ms 4560 KiB
13 Elfogadva 3/3 3ms 3864 KiB
14 Elfogadva 3/3 4ms 3952 KiB
15 Elfogadva 3/3 4ms 4008 KiB
16 Elfogadva 3/3 4ms 4376 KiB
17 Elfogadva 3/3 7ms 4708 KiB
18 Elfogadva 3/3 8ms 4748 KiB
19 Elfogadva 3/3 8ms 5044 KiB
20 Elfogadva 3/3 13ms 5320 KiB
21 Elfogadva 3/3 13ms 5612 KiB
22 Elfogadva 3/3 13ms 5920 KiB