169452025-05-17 11:58:39algoproKét csoportcpp17Wrong answer 0/100194ms22324 KiB
// UUID: 1507fa4e-fe39-4a81-877d-83a3acf6f944
#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) {
            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/056ms7648 KiB
3Wrong answer0/31ms316 KiB
4Wrong answer0/31ms316 KiB
5Wrong answer0/31ms316 KiB
6Wrong answer0/31ms316 KiB
7Wrong answer0/31ms316 KiB
8Wrong answer0/21ms316 KiB
9Wrong answer0/32ms316 KiB
10Wrong answer0/31ms316 KiB
11Wrong answer0/31ms500 KiB
12Wrong answer0/37ms964 KiB
13Wrong answer0/36ms1076 KiB
14Wrong answer0/37ms1120 KiB
15Wrong answer0/657ms7528 KiB
16Wrong answer0/759ms7464 KiB
17Wrong answer0/764ms7636 KiB
18Wrong answer0/6114ms15068 KiB
19Wrong answer0/6118ms14988 KiB
20Wrong answer0/6128ms15068 KiB
21Wrong answer0/6175ms22216 KiB
22Wrong answer0/7182ms22268 KiB
23Wrong answer0/7194ms22276 KiB
24Wrong answer0/7192ms22324 KiB