70832023-12-30 09:14:23MagyarKendeSZLGParti (75 pont)cpp17Hibás válasz 72/7550ms23564 KiB
#include <bits/stdc++.h>

#define speed cin.tie(0); ios::sync_with_stdio(0)
#define cinv(v) for (auto& e : v) cin >> e;
#define all(v) v.begin(), v.end()
#define has(s, e) s.count(e)

using namespace std;
using ll = long long;
using point = array<int, 2>;

int N;
vector<vector<int>> g;
vector<int> indegS;

void remove(int node, int deg) {
    indegS[node] = -1;
    for (int neighbor : g[node]) {
        indegS[neighbor]--;
        if (!indegS[neighbor]) {
            remove(neighbor, deg);
        }
    }
}

int main() {
    speed;

    cin >> N;
    g.resize(N + 1);
    indegS.resize(N + 1);

    for (int i = 1; i <= N; i++) {
        int U, V;
        cin >> U >> V;
        g[i].push_back(U);
        g[i].push_back(V);
        indegS[U]++;
        indegS[V]++;
    }

    for (int i = 0; i < 2; i++) {
        for (int node = 1; node <= N; node++) {
            if (indegS[node] == i) {
                remove(node, i);
            }
        }
    }

    vector<int> result;

    for (int i = 1; i <= N; i++) {
        if (indegS[i] == 2) {
            result.push_back(i);
        }
    }

    cout << result.size() << '\n';
    for (int n : result) cout << n << ' ';
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base72/75
1Elfogadva0/03ms1828 KiB
2Elfogadva0/026ms8908 KiB
3Elfogadva3/33ms2804 KiB
4Elfogadva3/33ms2904 KiB
5Hibás válasz0/33ms3144 KiB
6Elfogadva3/33ms3372 KiB
7Elfogadva3/33ms3580 KiB
8Elfogadva4/43ms3948 KiB
9Elfogadva4/43ms3936 KiB
10Elfogadva4/44ms4412 KiB
11Elfogadva4/43ms4452 KiB
12Elfogadva4/44ms4612 KiB
13Elfogadva4/44ms4836 KiB
14Elfogadva4/44ms4876 KiB
15Elfogadva4/427ms11416 KiB
16Elfogadva4/430ms13296 KiB
17Elfogadva4/437ms15348 KiB
18Elfogadva4/441ms17528 KiB
19Elfogadva4/445ms20012 KiB
20Elfogadva4/450ms22492 KiB
21Elfogadva4/450ms23564 KiB
22Elfogadva4/43ms11452 KiB