253962026-02-19 19:15:43mihalykocsisParti (75 pont)cpp17Hibás válasz 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 << " ";
	}
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base72/75
1Elfogadva0/01ms316 KiB
2Elfogadva0/090ms3496 KiB
3Elfogadva3/31ms316 KiB
4Elfogadva3/31ms316 KiB
5Hibás válasz0/31ms316 KiB
6Elfogadva3/31ms316 KiB
7Elfogadva3/31ms316 KiB
8Elfogadva4/41ms316 KiB
9Elfogadva4/42ms432 KiB
10Elfogadva4/43ms428 KiB
11Elfogadva4/42ms316 KiB
12Elfogadva4/43ms316 KiB
13Elfogadva4/44ms564 KiB
14Elfogadva4/46ms616 KiB
15Elfogadva4/487ms3496 KiB
16Elfogadva4/4112ms4168 KiB
17Elfogadva4/4134ms4916 KiB
18Elfogadva4/4150ms5428 KiB
19Elfogadva4/4172ms6196 KiB
20Elfogadva4/4206ms6852 KiB
21Elfogadva4/4202ms6712 KiB
22Elfogadva4/41ms316 KiB