168502025-05-14 08:17:08SzorenyiZalanAndrasKét csoportcpp17Accepted 100/100224ms19252 KiB
#include <iostream>
#include<algorithm>
#include<vector>
#include<climits>
#include<numeric>
using namespace std;
using ll = long long;

#define endl "\n"



int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(nullptr);
	int n;
	cin >>n;
	vector<vector<int>> dis(n);
	vector<int>ndis(n,0);
	vector<bool>g;
	for (int i = 0;i < n;i++) {
		while (true) {
			int x;
			cin >> x;
			if (x == 0) break;
			x--;
			dis[i].push_back(x);
			ndis[i]++;
		}
	}
	vector<bool>group(n,1);
	bool unsolved = true;
	while (unsolved) {
		unsolved = false;
		for (int i = 0;i < n;i++) {
			int bad = 0;
			for (int j = 0;j < ndis[i];j++) {
				if (group[i] == group[dis[i][j]]) {
					bad++;
				}
			}
			if (bad > 1) {
				unsolved = true;
				group[i] = 1 - group[i];
			}
		}
	}
	int ans = 0;
	for (bool x : group) ans += x;
	cout << ans << '\n';
	for (int i = 0;i < n;i++) {
		if (1 == group[i]) { 
			cout << i + 1 << ' ';
		}
	};
}
SubtaskSumTestVerdictTimeMemory
base100/100
1Accepted0/01ms316 KiB
2Accepted0/064ms6700 KiB
3Accepted3/31ms316 KiB
4Accepted3/31ms508 KiB
5Accepted3/31ms316 KiB
6Accepted3/31ms316 KiB
7Accepted3/31ms332 KiB
8Accepted2/21ms316 KiB
9Accepted3/32ms316 KiB
10Accepted3/32ms316 KiB
11Accepted3/32ms560 KiB
12Accepted3/37ms820 KiB
13Accepted3/37ms820 KiB
14Accepted3/37ms820 KiB
15Accepted6/665ms6672 KiB
16Accepted7/768ms6632 KiB
17Accepted7/770ms6452 KiB
18Accepted6/6131ms13068 KiB
19Accepted6/6141ms12728 KiB
20Accepted6/6145ms12648 KiB
21Accepted6/6201ms19252 KiB
22Accepted7/7207ms19104 KiB
23Accepted7/7221ms18996 KiB
24Accepted7/7224ms18996 KiB