9335 2024. 02. 20 14:56:23 Ablablabla Hálózati biztonság (50) cpp17 Elfogadva 50/50 157ms 18084 KiB
#include <bits/stdc++.h>

using namespace std;

vector<vector<int>> csucsok;

int main()
{
    int n, m, k;
    cin >> n >> m >> k;

    vector<int> befok(n);
    csucsok.assign(n, vector<int>());
    for(int i = 0; i < m; i++){
        int a, b;
        cin >> a >> b;
        a--; b--;

        befok[a]++;
        befok[b]++;
        csucsok[a].push_back(b);
        csucsok[b].push_back(a);
    }

    vector<bool> benne(n, 1);

    queue<int> bejar;

    for(int i = 0; i < n; i++){
        if(befok[i] < k){
            bejar.push(i);
        }
    }

    while(!bejar.empty()){
        int akt = bejar.front();
        bejar.pop();

        if(!benne[akt]) continue;

        benne[akt] = 0;

        for(int x : csucsok[akt]){
            if(!benne[x]) continue;

            befok[x]--;

            if(befok[x] < k){
                bejar.push(x);
            }
        }
    }

    vector<int> megoldas;
    for(int i = 0; i < n; i++){
        if(benne[i]){
            megoldas.push_back(i);
        }
    }

    cout << megoldas.size() << "\n";
    for(int x : megoldas){
        cout << x + 1 << " ";
    }
    cout << "\n";
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1812 KiB
2 Elfogadva 0/0 83ms 9644 KiB
3 Elfogadva 2/2 3ms 2216 KiB
4 Elfogadva 2/2 3ms 2308 KiB
5 Elfogadva 2/2 3ms 2432 KiB
6 Elfogadva 2/2 3ms 2644 KiB
7 Elfogadva 2/2 3ms 2892 KiB
8 Elfogadva 2/2 3ms 3128 KiB
9 Elfogadva 2/2 3ms 3112 KiB
10 Elfogadva 2/2 8ms 3536 KiB
11 Elfogadva 2/2 4ms 3552 KiB
12 Elfogadva 2/2 6ms 4016 KiB
13 Elfogadva 3/3 3ms 3936 KiB
14 Elfogadva 3/3 7ms 4492 KiB
15 Elfogadva 3/3 8ms 5408 KiB
16 Elfogadva 3/3 81ms 9448 KiB
17 Elfogadva 3/3 8ms 4592 KiB
18 Elfogadva 3/3 12ms 7436 KiB
19 Elfogadva 3/3 92ms 16008 KiB
20 Elfogadva 3/3 157ms 18084 KiB
21 Elfogadva 3/3 98ms 16232 KiB
22 Elfogadva 3/3 3ms 3892 KiB