168512025-05-14 08:17:25algoproKét csoportcpp17Accepted 100/100222ms19424 KiB
// UUID: 3a435985-0c56-49dd-a26f-f052e6d47c64
#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/065ms6708 KiB
3Accepted3/31ms508 KiB
4Accepted3/31ms316 KiB
5Accepted3/31ms316 KiB
6Accepted3/31ms508 KiB
7Accepted3/31ms316 KiB
8Accepted2/21ms316 KiB
9Accepted3/31ms316 KiB
10Accepted3/31ms508 KiB
11Accepted3/32ms316 KiB
12Accepted3/37ms820 KiB
13Accepted3/37ms820 KiB
14Accepted3/37ms820 KiB
15Accepted6/665ms6556 KiB
16Accepted7/765ms6548 KiB
17Accepted7/770ms6404 KiB
18Accepted6/6135ms12856 KiB
19Accepted6/6141ms12852 KiB
20Accepted6/6143ms12852 KiB
21Accepted6/6202ms19424 KiB
22Accepted7/7208ms18996 KiB
23Accepted7/7221ms18992 KiB
24Accepted7/7222ms18996 KiB