2044 2022. 12. 15 21:12:24 kovacs.peter.18f Hálózati biztonság (50) cpp11 Elfogadva 50/50 72ms 17664 KiB
#include <iostream>
#include <vector>
#include <queue>

using namespace std;

int main() {
    cin.sync_with_stdio(false);
    cin.tie(nullptr);

    int N, M, K;
    cin >> N >> M >> K;
    vector<vector<int>> neighbourS(N);
    vector<int> degreeS(N);
    while (M--) {
        int U, V;
        cin >> U >> V;
        ++degreeS[--U];
        ++degreeS[--V];
        neighbourS[U].push_back(V);
        neighbourS[V].push_back(U);
    }
    vector<bool> deletedS(N);
    queue<int> deletionS;
    for (int i = 0; i < N; i++) {
        if (degreeS[i] < K) {
            deletedS[i] = true;
            deletionS.push(i);
        }
    }
    while (!deletionS.empty()) {
        int n = deletionS.front();
        deletionS.pop();
        for (auto e : neighbourS[n]) {
            if (!deletedS[e] && --degreeS[e] < K) {
                deletedS[e] = true;
                deletionS.push(e);
            }
        }
    }
    vector<int> answerS;
    for (int i = 0; i < N; i++) {
        if (!deletedS[i]) {
            answerS.push_back(i);
        }
    }
    cout << answerS.size() << '\n';
    for (auto e : answerS) {
        cout << e + 1 << " ";
    }
    cout << '\n';
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1828 KiB
2 Elfogadva 0/0 39ms 9272 KiB
3 Elfogadva 2/2 2ms 2380 KiB
4 Elfogadva 2/2 2ms 2584 KiB
5 Elfogadva 2/2 2ms 2660 KiB
6 Elfogadva 2/2 2ms 2692 KiB
7 Elfogadva 2/2 2ms 2936 KiB
8 Elfogadva 2/2 2ms 3180 KiB
9 Elfogadva 2/2 2ms 3104 KiB
10 Elfogadva 2/2 4ms 3436 KiB
11 Elfogadva 2/2 3ms 3448 KiB
12 Elfogadva 2/2 4ms 3752 KiB
13 Elfogadva 3/3 2ms 3656 KiB
14 Elfogadva 3/3 4ms 4308 KiB
15 Elfogadva 3/3 6ms 5216 KiB
16 Elfogadva 3/3 37ms 8660 KiB
17 Elfogadva 3/3 4ms 4484 KiB
18 Elfogadva 3/3 7ms 7784 KiB
19 Elfogadva 3/3 43ms 15704 KiB
20 Elfogadva 3/3 72ms 17664 KiB
21 Elfogadva 3/3 46ms 16284 KiB
22 Elfogadva 3/3 2ms 4232 KiB