169432025-05-17 11:50:42algoproKét csoportcpp17Hibás válasz 0/100202ms23456 KiB
// UUID: 493e4544-c140-4e06-b0a6-c54184b4ebdb
#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);
    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);
        }
    }
    int k=n;
    vector<int> groups(n,0);
    while (k>0) {
            vector<int> vec;
            int y=1;
            for (int i:hate[v[k-1]]) {
                if (groups[i]==groups[v[k-1]]) {
                    counter[i]--;
                    counter[v[k-1]]--;
                    if (counter[i]<2&&k>y) {
                        y++;
                        int x=counter[i];
                        counter[i]=counter[k-2];
                        counter[k-y]=x;
                    }
                }
                else {
                    counter[i]++;
                    counter[v[k-1]]++;
                    if (counter[i]==2) {
                        vec.push_back(i);
                    }
                }
            }
            groups[v[k-1]]=1-groups[v[k-1]];
            for (int i=0; i<y; i++) {
                v.pop_back();
                }
            k-=y;
            for (int i:vec) {
                v.push_back(i);
                k++;
            }
    }
    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/057ms7848 KiB
3Hibás válasz0/31ms316 KiB
4Hibás válasz0/31ms316 KiB
5Hibás válasz0/31ms316 KiB
6Hibás válasz0/31ms316 KiB
7Hibás válasz0/31ms316 KiB
8Hibás válasz0/21ms316 KiB
9Hibás válasz0/31ms316 KiB
10Hibás válasz0/31ms316 KiB
11Hibás válasz0/32ms552 KiB
12Hibás válasz0/36ms1076 KiB
13Hibás válasz0/37ms1076 KiB
14Hibás válasz0/37ms1076 KiB
15Hibás válasz0/656ms7820 KiB
16Hibás válasz0/761ms7960 KiB
17Hibás válasz0/764ms7852 KiB
18Hibás válasz0/6115ms15396 KiB
19Hibás válasz0/6120ms15656 KiB
20Hibás válasz0/6134ms15808 KiB
21Hibás válasz0/6171ms22944 KiB
22Hibás válasz0/7187ms23336 KiB
23Hibás válasz0/7199ms23456 KiB
24Hibás válasz0/7202ms23452 KiB