152092025-02-16 19:16:19999Hálózati biztonság (50)cpp17Accepted 50/50155ms7476 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;

int main() {
    int n,m,k;cin>>n>>m>>k;
    vector<vector<int>> v(n);
    vector<int> befok(n),van(n);
    for(int i = 0;i<m;i++){
        int a,b;cin>>a>>b;
        a--;b--;
        befok[a]++;befok[b]++;
        v[a].push_back(b);
        v[b].push_back(a);
    }
    queue<int> q;
    for(int i = 0;i<n;i++){
        if(befok[i]<k){
            q.push(i);
            van[i]=1;
            //cout<<i<<endl;
        }
    }
    while(!q.empty()){
        int i=q.front();
        q.pop();
        for(int u : v[i]){
            befok[u]--;
            if(!van[u]&&befok[u]<k){
                van[u]=1;
                q.push(u);
            }
        }
    }
    int cnt=0;
    vector<int> ans;
    for(int i = 0;i<n;i++){
        if(!van[i]){
            cnt++;
            ans.push_back(i);
        }
    }
    cout<<cnt<<endl;
    for(int i : ans)cout<<i+1<<' ';
    cout<<endl;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/093ms4148 KiB
3Accepted2/21ms316 KiB
4Accepted2/21ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms316 KiB
7Accepted2/21ms316 KiB
8Accepted2/21ms388 KiB
9Accepted2/21ms316 KiB
10Accepted2/26ms512 KiB
11Accepted2/22ms316 KiB
12Accepted2/24ms396 KiB
13Accepted3/31ms316 KiB
14Accepted3/34ms916 KiB
15Accepted3/37ms1348 KiB
16Accepted3/382ms3164 KiB
17Accepted3/36ms820 KiB
18Accepted3/310ms2356 KiB
19Accepted3/390ms6708 KiB
20Accepted3/3155ms7476 KiB
21Accepted3/3105ms6832 KiB
22Accepted3/31ms316 KiB