169442025-05-17 11:56:35algoproKét csoportcpp17Wrong answer 0/100200ms23456 KiB
// UUID: e1e0a055-446a-4270-b7b2-396a29ed714b
#include <bits/stdc++.h>
using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    int n;
    cin >> n;
    vector<vector<int>> hate(n);
    vector<int> counter(n,0);
    vector<int> v(n);
    vector<bool> visited(n,false);
    for (int i=0; i<n; i++) {
        int a;
        cin >> a;
        while (a!=0) {
            hate[i].push_back(a-1);
            counter[i]++;
            cin >> a;
        }
    }
    for (int i=0; i<n; i++) {
        if (counter[i]>1) {
            v.push_back(i);
            visited[i]=true;
        }
    }
    int k=n;
    vector<int> groups(n,0);
    while (k>0) {
           if (counter[v[k-1]]<2) {
               v.pop_back();
               k--;
            visited[v[k-1]]=false;
           }
           else { 
               vector<int> vec;
            for (int i:hate[v[k-1]]) {
                if (groups[i]==groups[v[k-1]]) {
                    counter[i]--;
                    counter[v[k-1]]--;
                }
                else {
                    counter[i]++;
                    counter[v[k-1]]++;
                    if (counter[i]>2&&!visited[i]) {
                        vec.push_back(i);
                    }
                }
            }
            groups[v[k-1]]=1-groups[v[k-1]];
                v.pop_back();
            k--;
            visited[v[k-1]]=false;
            for (int i:vec) {
                v.push_back(i);
                k++;
                visited[i]=true;
            }
            }
    }
    int m=0;
    for (int i=0; i<n; i++) {
        if (groups[i]==0) {
            m++;
        }
    }
    cout << m << "\n";
    for (int i=0; i<n; i++) {
        if (groups[i]==0) {
            cout << i+1 << " ";
        }
    }
}
SubtaskSumTestVerdictTimeMemory
base0/100
1Wrong answer0/01ms316 KiB
2Wrong answer0/059ms7852 KiB
3Wrong answer0/31ms316 KiB
4Wrong answer0/31ms316 KiB
5Wrong answer0/31ms500 KiB
6Wrong answer0/31ms316 KiB
7Wrong answer0/31ms316 KiB
8Wrong answer0/21ms316 KiB
9Wrong answer0/31ms508 KiB
10Wrong answer0/31ms316 KiB
11Wrong answer0/31ms500 KiB
12Wrong answer0/36ms1076 KiB
13Wrong answer0/36ms1268 KiB
14Wrong answer0/37ms1076 KiB
15Wrong answer0/659ms7864 KiB
16Wrong answer0/761ms7992 KiB
17Wrong answer0/765ms7932 KiB
18Wrong answer0/6118ms15392 KiB
19Wrong answer0/6120ms15700 KiB
20Wrong answer0/6134ms15652 KiB
21Wrong answer0/6172ms22964 KiB
22Wrong answer0/7186ms23456 KiB
23Wrong answer0/7200ms23456 KiB
24Wrong answer0/7195ms23456 KiB