43642023-03-27 10:01:30ZsofiaKeresztelyHálózati biztonság (50)cpp14Elfogadva 50/50162ms17896 KiB
#include <bits/stdc++.h>
using namespace std;
vector<vector<int> > g;
vector<int> deg;
vector<bool> op;

int main()
{
    int n, m, k;
    cin >> n >> m >> k;
    g.resize(n+1);
    deg.assign(n+1, 0);
    op.assign(n+1, true);
    while (m--){
        int a, b;
        cin >> a >> b;
        g[a].push_back(b);
        g[b].push_back(a);
        deg[a]++;
        deg[b]++;
    }
    queue<int> q;
    for (int i=1; i<=n; i++){
        if (deg[i] < k){
            q.push(i);
        }
    }
    int c = 0;
    while (!q.empty()){
        int v = q.front();
        q.pop();
        if (!op[v]) continue;
        op[v] = false;
        c++;
        for (int x : g[v]){
            deg[x]--;
            if (op[x] && deg[x] < k){
                q.push(x);
            }
        }
    }
    cout << n - c << "\n";
    for (int i=1; i<=n; i++){
        if (op[i]) cout << i << " ";
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/03ms1688 KiB
2Elfogadva0/086ms9512 KiB
3Elfogadva2/23ms2008 KiB
4Elfogadva2/23ms2016 KiB
5Elfogadva2/23ms2156 KiB
6Elfogadva2/23ms2512 KiB
7Elfogadva2/23ms2516 KiB
8Elfogadva2/23ms2768 KiB
9Elfogadva2/23ms2860 KiB
10Elfogadva2/28ms3472 KiB
11Elfogadva2/24ms3456 KiB
12Elfogadva2/26ms3732 KiB
13Elfogadva3/33ms3656 KiB
14Elfogadva3/37ms4312 KiB
15Elfogadva3/38ms5224 KiB
16Elfogadva3/381ms8992 KiB
17Elfogadva3/38ms4456 KiB
18Elfogadva3/312ms7316 KiB
19Elfogadva3/3107ms15856 KiB
20Elfogadva3/3162ms17896 KiB
21Elfogadva3/3103ms15980 KiB
22Elfogadva3/32ms3736 KiB