1012 2022. 02. 23 13:02:23 rmlan Hálózati biztonság (50) cpp14 Elfogadva 50/50 192ms 30828 KiB
#include<bits/stdc++.h>
using namespace std;

int main(){
    int n,m,k;
    cin >> n >> m >> k;
    vector<vector<int> > g(n+1);
    vector<int> fsz(n+1);
    for(int i = 0; i <= n; i++) fsz[i]=0;
    for(int i = 0; i < m; i++){
        int u,v;
        cin >> u >> v;
        fsz[u]++;
        fsz[v]++;
        g[u].push_back(v);
        g[v].push_back(u);
    }
    queue<int> q;
    set<int> s;
    bool vt[n+1]={0};
    int ans=n;
    for(int i = 1; i <= n; i++){
        s.insert(i);
        if(fsz[i] < k){q.push(i);ans--;vt[i]=1;}
    }
    while(!q.empty()){
        int v = q.front();
        s.erase(v);
        q.pop();
        for(int i = 0; i < g[v].size(); i++){
            int u =g[v][i];
            if(vt[u]) continue;
            if(--fsz[u] < k){
                vt[u]=1;
                q.push(u);
                ans--;
            }
        }
    }
    cout << ans<<endl;
    set<int>::iterator it;

    for(it = s.begin(); it!=s.end(); it++){
        cout << *it << " ";
    }
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 2ms 1792 KiB
2 Elfogadva 0/0 93ms 14712 KiB
3 Elfogadva 2/2 1ms 2992 KiB
4 Elfogadva 2/2 1ms 3000 KiB
5 Elfogadva 2/2 1ms 3008 KiB
6 Elfogadva 2/2 1ms 3008 KiB
7 Elfogadva 2/2 1ms 3028 KiB
8 Elfogadva 2/2 1ms 3048 KiB
9 Elfogadva 2/2 1ms 3052 KiB
10 Elfogadva 2/2 6ms 3476 KiB
11 Elfogadva 2/2 2ms 3396 KiB
12 Elfogadva 2/2 4ms 3824 KiB
13 Elfogadva 3/3 2ms 3684 KiB
14 Elfogadva 3/3 9ms 5132 KiB
15 Elfogadva 3/3 10ms 6804 KiB
16 Elfogadva 3/3 86ms 12188 KiB
17 Elfogadva 3/3 7ms 5856 KiB
18 Elfogadva 3/3 20ms 12868 KiB
19 Elfogadva 3/3 125ms 27024 KiB
20 Elfogadva 3/3 192ms 30828 KiB
21 Elfogadva 3/3 129ms 30580 KiB
22 Elfogadva 3/3 1ms 9124 KiB