162582025-04-16 17:34:16algoproKét csoportcpp17Accepted 100/100188ms20276 KiB
// UUID: 8e06df45-6829-4e62-8233-2b1431ed0672
#include <bits/stdc++.h>
#include <ios>
using namespace std;

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	int n; cin>>n;
	vector<vector<int>> ellensegek(n+1);
	vector<int> hany(n+1);
	vector<bool> csop(n+1);
	for(int i=1; i<=n; ++i)
	{
		int x;
		while((cin >> x) && x)
		{
			ellensegek[i].push_back(x);
			hany[i]++;
		}
	}
	queue<int> rosszak;
	for(int i=1; i<=n; ++i) if(hany[i]>1) rosszak.push(i);
	while(!rosszak.empty())
	{
		int v=rosszak.front();
		rosszak.pop();
		if(hany[v]<2) continue;
		for(int x:ellensegek[v])
		{
			if(csop[x]!=csop[v]) {
				if(++hany[x]==2) rosszak.push(x);
				hany[v]++;
			}
			else {hany[x]--, hany[v]--;}
		}
		csop[v]=!csop[v];
	}
	cout<<count(csop.begin(), csop.end(), 1)<<endl;
	for(int i=1; i<=n; ++i) if(csop[i]) cout<<i<<' ';
}
SubtaskSumTestVerdictTimeMemory
base100/100
1Accepted0/01ms316 KiB
2Accepted0/052ms6708 KiB
3Accepted3/31ms316 KiB
4Accepted3/31ms500 KiB
5Accepted3/31ms316 KiB
6Accepted3/31ms316 KiB
7Accepted3/31ms316 KiB
8Accepted2/21ms332 KiB
9Accepted3/32ms316 KiB
10Accepted3/32ms316 KiB
11Accepted3/32ms500 KiB
12Accepted3/36ms820 KiB
13Accepted3/36ms1076 KiB
14Accepted3/37ms1088 KiB
15Accepted6/650ms6664 KiB
16Accepted7/757ms6796 KiB
17Accepted7/763ms6964 KiB
18Accepted6/6104ms13100 KiB
19Accepted6/6116ms13364 KiB
20Accepted6/6129ms13616 KiB
21Accepted6/6156ms19320 KiB
22Accepted7/7179ms19968 KiB
23Accepted7/7188ms20276 KiB
24Accepted7/7188ms20276 KiB