4684 2023. 03. 31 08:53:03 ZsBalazs Hálózati biztonság (50) cpp17 Elfogadva 50/50 165ms 20428 KiB
#include <bits/stdc++.h>
using namespace std;

int n, m, k;

vector<int> mennyi;
vector<bool> benne;
vector<vector<int>> graph;

void check(int current) {
  if (!benne[current]) return;
  
  if (mennyi[current] >= k) {
    // jok vagyunk
    return;
  }
  
  benne[current] = false;
  mennyi[current] = 0;
  
  for (int szomszed : graph[current]) {
    mennyi[szomszed]--;
    check(szomszed);
  }
}

int main() {
  cin >> n >> m >> k;
  
  benne.assign(n, true);
  mennyi.assign(n, 0);
  graph.resize(n);
  
  for (int i = 0; m > i; i++) {
    int a, b;
    cin >> a >> b;
    
    a--;
    b--;
    
    graph[a].push_back(b);
    graph[b].push_back(a);
    
    mennyi[a]++;
    mennyi[b]++;    
  }
  
  for (int i = 0; n > i; i++) {
    check(i);
  }
  
  int counter = 0;
  
  for (int i = 0; n > i; i++) {
    if (benne[i]) {
      counter++;
    }
  }
  
  cout << counter << endl;
  
  for (int i = 0; n > i; i++) {
    if (benne[i]) {
      cout << i+1 << " ";
    }
  }
  
  cout << endl;
  
	return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1748 KiB
2 Elfogadva 0/0 87ms 10352 KiB
3 Elfogadva 2/2 3ms 2300 KiB
4 Elfogadva 2/2 3ms 2516 KiB
5 Elfogadva 2/2 3ms 2636 KiB
6 Elfogadva 2/2 3ms 2716 KiB
7 Elfogadva 2/2 3ms 2856 KiB
8 Elfogadva 2/2 3ms 2940 KiB
9 Elfogadva 2/2 3ms 3092 KiB
10 Elfogadva 2/2 8ms 3392 KiB
11 Elfogadva 2/2 3ms 3220 KiB
12 Elfogadva 2/2 6ms 3688 KiB
13 Elfogadva 3/3 3ms 3812 KiB
14 Elfogadva 3/3 7ms 4436 KiB
15 Elfogadva 3/3 8ms 5296 KiB
16 Elfogadva 3/3 85ms 10388 KiB
17 Elfogadva 3/3 8ms 4820 KiB
18 Elfogadva 3/3 12ms 7416 KiB
19 Elfogadva 3/3 94ms 16516 KiB
20 Elfogadva 3/3 165ms 20428 KiB
21 Elfogadva 3/3 104ms 17356 KiB
22 Elfogadva 3/3 3ms 4328 KiB