172322025-06-07 14:00:54sarminKét csoportcpp17Időlimit túllépés 17/100400ms20336 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;
        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
base17/100
1Elfogadva0/01ms316 KiB
2Időlimit túllépés0/0379ms6964 KiB
3Elfogadva3/31ms500 KiB
4Elfogadva3/31ms316 KiB
5Elfogadva3/31ms500 KiB
6Elfogadva3/31ms316 KiB
7Elfogadva3/31ms316 KiB
8Elfogadva2/21ms536 KiB
9Időlimit túllépés0/3398ms316 KiB
10Időlimit túllépés0/3400ms472 KiB
11Időlimit túllépés0/3400ms316 KiB
12Időlimit túllépés0/3381ms1076 KiB
13Időlimit túllépés0/3384ms1076 KiB
14Időlimit túllépés0/3384ms1268 KiB
15Időlimit túllépés0/6400ms7084 KiB
16Időlimit túllépés0/7386ms6972 KiB
17Időlimit túllépés0/7379ms7004 KiB
18Időlimit túllépés0/6379ms13620 KiB
19Időlimit túllépés0/6400ms13660 KiB
20Időlimit túllépés0/6381ms13620 KiB
21Időlimit túllépés0/6381ms20280 KiB
22Időlimit túllépés0/7381ms20276 KiB
23Időlimit túllépés0/7400ms20336 KiB
24Időlimit túllépés0/7388ms20276 KiB