253962026-02-19 19:15:43mihalykocsisParti (75 pont)cpp17Wrong answer 72/75206ms6852 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
	int n; cin >> n;
	vector<pair<int, int>> v(n + 1);
	vector<int> v2(n + 1), b(n + 1);
	set<pair<int, int>> s;
	for (int i = 1; i <= n; i++) {
		cin >> v[i].first >> v[i].second;
		v2[v[i].first]++;
		v2[v[i].second]++;
	}
	for (int i = 1; i <= n; i++) {
		s.insert({v2[i], i});
	}
	while (!s.empty() && (*s.begin()).first < 2) {
		int ss = (*s.begin()).second;
		b[ss]=1;
		s.erase(*s.begin());
		s.erase({v2[v[ss].first], v[ss].first});
		s.erase({v2[v[ss].second], v[ss].second});
		v2[v[ss].first]--;
		v2[v[ss].second]--;
		if (!b[v[ss].first]) {
			s.insert({v2[v[ss].first], v[ss].first});
		}
		if (!b[v[ss].second]) {
			s.insert({v2[v[ss].second], v[ss].second});
		}
	}
	cout << s.size() << "\n";
	for (auto [a, b] : s) {
		cout << b << " ";
	}
}
SubtaskSumTestVerdictTimeMemory
base72/75
1Accepted0/01ms316 KiB
2Accepted0/090ms3496 KiB
3Accepted3/31ms316 KiB
4Accepted3/31ms316 KiB
5Wrong answer0/31ms316 KiB
6Accepted3/31ms316 KiB
7Accepted3/31ms316 KiB
8Accepted4/41ms316 KiB
9Accepted4/42ms432 KiB
10Accepted4/43ms428 KiB
11Accepted4/42ms316 KiB
12Accepted4/43ms316 KiB
13Accepted4/44ms564 KiB
14Accepted4/46ms616 KiB
15Accepted4/487ms3496 KiB
16Accepted4/4112ms4168 KiB
17Accepted4/4134ms4916 KiB
18Accepted4/4150ms5428 KiB
19Accepted4/4172ms6196 KiB
20Accepted4/4206ms6852 KiB
21Accepted4/4202ms6712 KiB
22Accepted4/41ms316 KiB