169252025-05-15 18:27:59algoproKét csoportcpp17Accepted 100/100209ms19628 KiB
// UUID: f7657d16-94b6-456f-b733-b3f0985d0bff
#include <bits/stdc++.h>
using namespace std;

int main() {
    cin.tie(0), ios::sync_with_stdio(0);

    int n;
    cin >> n;
    vector<vector<int>> g(n);
    for (int i = 0, j; i < n;) {
        cin >> j;
        if (!j) {
            i++;
            continue;
        }
        g[i].push_back(j - 1);
    }

    vector<int> id(n), result;
    while (1) {
        bool done = 1;
        for (int i = 0; i < n; i++) {
            int cnt = 0;
            for (int j : g[i]) cnt += id[i] == id[j];
            if (cnt >= 2) {
                id[i] ^= 1;
                done = 0;
            }
        }
        if (done) break;
    }

    for (int i = 0; i < n; i++) {
        if (id[i]) result.push_back(i);
    }
    cout << result.size() << "\n";
    for (int x : result) cout << x + 1 << " ";
    cout << "\n";
}
SubtaskSumTestVerdictTimeMemory
base100/100
1Accepted0/01ms508 KiB
2Accepted0/059ms6708 KiB
3Accepted3/31ms316 KiB
4Accepted3/31ms316 KiB
5Accepted3/32ms316 KiB
6Accepted3/31ms316 KiB
7Accepted3/31ms316 KiB
8Accepted2/21ms316 KiB
9Accepted3/32ms316 KiB
10Accepted3/32ms316 KiB
11Accepted3/32ms316 KiB
12Accepted3/36ms1056 KiB
13Accepted3/37ms1076 KiB
14Accepted3/37ms1088 KiB
15Accepted6/659ms6708 KiB
16Accepted7/761ms6824 KiB
17Accepted7/767ms6696 KiB
18Accepted6/6119ms12972 KiB
19Accepted6/6131ms12972 KiB
20Accepted6/6140ms13184 KiB
21Accepted6/6184ms19176 KiB
22Accepted7/7194ms19408 KiB
23Accepted7/7209ms19628 KiB
24Accepted7/7206ms19628 KiB