168352025-05-13 19:00:56algoproKét csoportcpp17Elfogadva 100/100202ms20276 KiB
// UUID: 56b5cab5-209c-4605-ba33-480a8fd046a7
#include <bits/stdc++.h>
using namespace std;
using ll=long long;
using pii=pair<int,int>;

vector<vector<int>> vec;
vector<int> roszelek;
vector<bool> csapat;

int main() {
	ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
    int n; cin >> n;
	vec.resize(n);
	roszelek.resize(n);
	csapat.resize(n);
	queue<int> q;
	for(int i=0; i<n; i++)
	{
		int a; cin >> a;
		while(a!=0)
		{
			vec[i].push_back(a-1);
			cin >> a;
		}
		roszelek[i]=vec[i].size();
		if(roszelek[i]>1)
			q.push(i);
	}
	while(!q.empty())
	{
		if(roszelek[q.front()]>1)
		{
			csapat[q.front()]=1-csapat[q.front()];
			roszelek[q.front()]=0;
			for(auto& z:vec[q.front()])
			{
				if(csapat[z]==csapat[q.front()])
				{
					roszelek[q.front()]++;
					roszelek[z]++;
				}
				else
					roszelek[z]--;
				if(roszelek[z]>1)
					q.push(z);
			}
		}
		q.pop();
	}
	int ki=0;
	for(auto z:csapat)
		if(z)
			ki++;
	cout << ki << "\n";
	for(int i=0; i<n; i++)
		if(csapat[i])
			cout << i+1 << " ";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base100/100
1Elfogadva0/01ms316 KiB
2Elfogadva0/054ms6708 KiB
3Elfogadva3/31ms508 KiB
4Elfogadva3/31ms316 KiB
5Elfogadva3/31ms316 KiB
6Elfogadva3/31ms316 KiB
7Elfogadva3/31ms316 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva3/31ms316 KiB
10Elfogadva3/31ms500 KiB
11Elfogadva3/31ms316 KiB
12Elfogadva3/36ms820 KiB
13Elfogadva3/37ms1076 KiB
14Elfogadva3/37ms1076 KiB
15Elfogadva6/654ms6556 KiB
16Elfogadva7/759ms6788 KiB
17Elfogadva7/764ms7008 KiB
18Elfogadva6/6105ms13120 KiB
19Elfogadva6/6122ms13572 KiB
20Elfogadva6/6136ms13620 KiB
21Elfogadva6/6159ms19388 KiB
22Elfogadva7/7178ms20088 KiB
23Elfogadva7/7202ms20276 KiB
24Elfogadva7/7200ms20212 KiB