147692025-02-02 11:09:36TakacsAndrasParti (75 pont)cpp17Wrong answer 72/7587ms6856 KiB
#include <bits/stdc++.h>
using namespace std;
int main() {
    int n; cin >> n;
    vector<int> bf(n+1);
    vector<vector<int>> g(n+1);
    for (int i = 1; i <= n; i++) {
        int a,b; cin >> a >> b;
        bf[a]++;
        bf[b]++;
        g[i].push_back(a);
        g[i].push_back(b);
    }
    queue<int> q;
    vector<bool> v(n+1);
    for (int i = 1; i <= n; i++) {
        if (bf[i] < 2) {
            q.push(i);
            v[i] = true;
        }
    }
    while (!q.empty()) {
        int a = q.front();
        q.pop();
        if (--bf[g[a][0]] < 2 && !v[g[a][0]]) {
            q.push(g[a][0]);
            v[g[a][0]] = true;
        }
        if (--bf[g[a][1]] < 2 && !v[g[a][1]]) {
            q.push(g[a][1]);
            v[g[a][1]] = true;
        }
    }
    vector<int> out;
    for (int i = 1; i <= n; i++) {
        if (bf[i] >= 2) out.push_back(i);
    }
    cout << out.size() << '\n';
    for (int x : out) cout << x << ' ';
}
SubtaskSumTestVerdictTimeMemory
base72/75
1Accepted0/01ms316 KiB
2Accepted0/043ms3636 KiB
3Accepted3/31ms316 KiB
4Accepted3/31ms316 KiB
5Wrong answer0/31ms356 KiB
6Accepted3/31ms316 KiB
7Accepted3/31ms316 KiB
8Accepted4/41ms396 KiB
9Accepted4/41ms316 KiB
10Accepted4/42ms316 KiB
11Accepted4/42ms316 KiB
12Accepted4/42ms512 KiB
13Accepted4/43ms568 KiB
14Accepted4/44ms568 KiB
15Accepted4/443ms3696 KiB
16Accepted4/452ms4188 KiB
17Accepted4/461ms4880 KiB
18Accepted4/471ms5380 KiB
19Accepted4/479ms6280 KiB
20Accepted4/486ms6832 KiB
21Accepted4/487ms6856 KiB
22Accepted4/41ms316 KiB