169442025-05-17 11:56:35algoproKét csoportcpp17Hibás válasz 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 << " ";
        }
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/100
1Hibás válasz0/01ms316 KiB
2Hibás válasz0/059ms7852 KiB
3Hibás válasz0/31ms316 KiB
4Hibás válasz0/31ms316 KiB
5Hibás válasz0/31ms500 KiB
6Hibás válasz0/31ms316 KiB
7Hibás válasz0/31ms316 KiB
8Hibás válasz0/21ms316 KiB
9Hibás válasz0/31ms508 KiB
10Hibás válasz0/31ms316 KiB
11Hibás válasz0/31ms500 KiB
12Hibás válasz0/36ms1076 KiB
13Hibás válasz0/36ms1268 KiB
14Hibás válasz0/37ms1076 KiB
15Hibás válasz0/659ms7864 KiB
16Hibás válasz0/761ms7992 KiB
17Hibás válasz0/765ms7932 KiB
18Hibás válasz0/6118ms15392 KiB
19Hibás válasz0/6120ms15700 KiB
20Hibás válasz0/6134ms15652 KiB
21Hibás válasz0/6172ms22964 KiB
22Hibás válasz0/7186ms23456 KiB
23Hibás válasz0/7200ms23456 KiB
24Hibás válasz0/7195ms23456 KiB