172332025-06-07 14:03:20sarminKét csoportcpp17Elfogadva 100/100186ms22160 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {

    ios_base::sync_with_stdio(false);
    cin.tie(0);

    int n; cin >> n;
    vector<vector<int>> adj(n);
    vector<int> state(n, -1);
    vector<int> hate(n, 0);
    for (int i = 0; i < n; i++) {
        state[i] = i%2;
        int e;
        while (cin >> e) {
            if (e == 0) break;
            e--;
            adj[i].push_back(e);
        }
    }

    queue<int> bad;
    vector<int> in_queue(n, false);
    for (int i = 0; i < n; i++) {
        for (const int& e : adj[i]) {
            if (state[i] == state[e]) {
                hate[i]++;
            }
        }
        if (hate[i] >= 2 && !in_queue[i]) {
            bad.push(i);
            in_queue[i] = true;
        }
    }
    
    while (!bad.empty()) {
        int e = bad.front();
        bad.pop();
        in_queue[e] = false;
        if (hate[e] < 2) continue;
        for (const int& m : adj[e]) {
            if (state[e] == state[m]) {
                hate[m]--;
            }
        }
        state[e] = (state[e] == 0) ? 1 : 0; // fordít
        for (const int& m : adj[e]) {
            if (state[e] == state[m]) {
                hate[m]++;
            }
        }
        
        hate[e] = 0;
        for (int& m : adj[e]) {
            if (state[e] == state[m]) {
                hate[e]++;
            }
            if (hate[m] >= 2 && !in_queue[m]) {
                bad.push(m);
                in_queue[m] = true;
            }
        }

        if (hate[e] >= 2 && !in_queue[e]) {
            bad.push(e);
            in_queue[e] = true;
        }
    }

    vector<int> res;
    for (int i = 0; i < n; i++) {
        if (state[i] == 0) res.push_back(i+1);
    }

    cout << res.size() << "\n";
    for (int i : res) cout << i << " ";
	
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base100/100
1Elfogadva0/01ms316 KiB
2Elfogadva0/050ms7612 KiB
3Elfogadva3/31ms508 KiB
4Elfogadva3/31ms316 KiB
5Elfogadva3/31ms316 KiB
6Elfogadva3/31ms316 KiB
7Elfogadva3/31ms316 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva3/31ms316 KiB
10Elfogadva3/31ms316 KiB
11Elfogadva3/32ms316 KiB
12Elfogadva3/36ms1088 KiB
13Elfogadva3/36ms1076 KiB
14Elfogadva3/37ms1076 KiB
15Elfogadva6/652ms7488 KiB
16Elfogadva7/754ms7636 KiB
17Elfogadva7/761ms7620 KiB
18Elfogadva6/6101ms14764 KiB
19Elfogadva6/6108ms14764 KiB
20Elfogadva6/6123ms14764 KiB
21Elfogadva6/6158ms22160 KiB
22Elfogadva7/7165ms22160 KiB
23Elfogadva7/7180ms21928 KiB
24Elfogadva7/7186ms21928 KiB