90272024-02-12 11:57:12IgnácParti (75 pont)cpp17Hibás válasz 72/7574ms13720 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;

int main() {
	int n;
	cin >> n;
	vector<int> db(n + 1);
	vector<pair<int, int>> to(n + 1);
	for (int i = 1; i <= n; i++) {
		int a, b;
		cin >> a >> b;
		db[a]++;
		db[b]++;
		to[i].first = a;
		to[i].second = b;
	}

	queue<int> out;
	for (int i = 1; i <= n; i++) {
		if (db[i] < 2) {
			out.push(i);
			db[i] = -1;
		}
	}

	while (out.size() > 0) {
		//cout << out.front() << "\n";
		db[to[out.front()].first]--;
		db[to[out.front()].second]--;
		if (db[to[out.front()].first] < 2 && db[to[out.front()].first] > -1) {
			out.push(to[out.front()].first);
			db[to[out.front()].first] = -1;
		}
		if (db[to[out.front()].second] < 2 && db[to[out.front()].second] > -1) {
			out.push(to[out.front()].second);
			db[to[out.front()].second] = -1;
		}
		out.pop();
	}

	string ans;
	int cnt = 0;
	for (int i = 1; i <= n; i++) {
		if (db[i] >= 2) {
			ans += to_string(i) + " ";
			cnt++;
		}
	}

	cout << cnt << "\n" << ans;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base72/75
1Elfogadva0/03ms1960 KiB
2Elfogadva0/037ms4408 KiB
3Elfogadva3/33ms2792 KiB
4Elfogadva3/33ms2960 KiB
5Hibás válasz0/33ms3084 KiB
6Elfogadva3/33ms3332 KiB
7Elfogadva3/33ms3520 KiB
8Elfogadva4/43ms3608 KiB
9Elfogadva4/43ms3616 KiB
10Elfogadva4/44ms3660 KiB
11Elfogadva4/43ms3660 KiB
12Elfogadva4/44ms3780 KiB
13Elfogadva4/44ms3736 KiB
14Elfogadva4/44ms3928 KiB
15Elfogadva4/437ms5956 KiB
16Elfogadva4/443ms7244 KiB
17Elfogadva4/450ms8344 KiB
18Elfogadva4/459ms9712 KiB
19Elfogadva4/464ms10936 KiB
20Elfogadva4/474ms12552 KiB
21Elfogadva4/471ms13720 KiB
22Elfogadva4/43ms10584 KiB