162312025-04-14 18:22:40AblablablaKét csoportcpp17Wrong answer 100/100192ms20268 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);

	int n;
	cin >> n;

	vector<vector<int>> csucsok(n, vector<int>());
	vector<int> fok(n, 0);
	for(int i = 0; i < n; i++){
		while(1){
			int a;
			cin >> a;

			if(a == 0) break;

			a--;
			csucsok[i].push_back(a);
			fok[i]++;
		}
	}

	vector<bool> kettes(n, 0);
	int db = 0;
	queue<int> bejar;
	for(int i = 0; i < n; i++) bejar.push(i);

    while(!bejar.empty()){
        int i = bejar.front();
        bejar.pop();

        if(fok[i] >= 2){
            if(kettes[i]){
                kettes[i] = 0;
                db--;
            } else{
                kettes[i] = 1;
                db++;
            }

            for(int x : csucsok[i]){
                if(kettes[x] == kettes[i]){
                    fok[i]++;
                    fok[x]++;
                    bejar.push(x);
                } else{
                    fok[i]--;
                    fok[x]--;
                }
            }
        }
    }

	cout << db << "\n";
	for(int i = 0; i < n; i++){
		if(kettes[i]){
			cout << i + 1 << " ";
		}
	}
	cout << "\n";
}
SubtaskSumTestVerdictTimeMemory
base100/100
1Accepted0/01ms316 KiB
2Wrong answer0/052ms6708 KiB
3Accepted3/31ms316 KiB
4Accepted3/31ms316 KiB
5Accepted3/31ms496 KiB
6Accepted3/31ms500 KiB
7Accepted3/31ms316 KiB
8Accepted2/21ms316 KiB
9Accepted3/31ms316 KiB
10Accepted3/31ms544 KiB
11Accepted3/31ms508 KiB
12Accepted3/36ms1076 KiB
13Accepted3/36ms1076 KiB
14Accepted3/37ms1076 KiB
15Accepted6/650ms6924 KiB
16Accepted7/756ms6996 KiB
17Accepted7/763ms6896 KiB
18Accepted6/6108ms13272 KiB
19Accepted6/6112ms13360 KiB
20Accepted6/6123ms13620 KiB
21Accepted6/6163ms19784 KiB
22Accepted7/7170ms19940 KiB
23Accepted7/7187ms20268 KiB
24Accepted7/7192ms20232 KiB