46842023-03-31 08:53:03ZsBalazsHálózati biztonság (50)cpp17Elfogadva 50/50165ms20428 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ÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/03ms1748 KiB
2Elfogadva0/087ms10352 KiB
3Elfogadva2/23ms2300 KiB
4Elfogadva2/23ms2516 KiB
5Elfogadva2/23ms2636 KiB
6Elfogadva2/23ms2716 KiB
7Elfogadva2/23ms2856 KiB
8Elfogadva2/23ms2940 KiB
9Elfogadva2/23ms3092 KiB
10Elfogadva2/28ms3392 KiB
11Elfogadva2/23ms3220 KiB
12Elfogadva2/26ms3688 KiB
13Elfogadva3/33ms3812 KiB
14Elfogadva3/37ms4436 KiB
15Elfogadva3/38ms5296 KiB
16Elfogadva3/385ms10388 KiB
17Elfogadva3/38ms4820 KiB
18Elfogadva3/312ms7416 KiB
19Elfogadva3/394ms16516 KiB
20Elfogadva3/3165ms20428 KiB
21Elfogadva3/3104ms17356 KiB
22Elfogadva3/33ms4328 KiB