145262025-01-13 20:26:20tomi7Hálózati biztonság (50)cpp17Hibás válasz 7/50175ms7984 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>> a(n);
	vector<int> c(n); // cardinality of vertexs
	vector<pair<int, int>> o(n);
	for(int i=0;i<m;i++){
		int x, y;cin>>x>>y;
		x--;y--;
		o[x].first++;o[x].second=x;
		o[y].first++;o[y].second=y;
		c[x]++;
		c[y]++;
		a[x].push_back(y);
		a[y].push_back(x);
	}
	sort(o.begin(), o.end());
	queue<int> q;
	vector<bool> visited(n, false);
	for(int i=0;i<n;i++){
		if(o[i].first<k){
			q.push(o[i].second);
			visited[o[i].second]=true;
		}
	}
	while(!q.empty()){
		int x=q.front();
		q.pop();
		for(int y: a[x]){
			c[y]--;
			if(c[y]<k){
				if(!visited[y]){
					visited[y]=true;
					q.push(y);
				}
			}
		}
	}
	int ans=0;
	for(int i=0;i<n;i++){
		if(!visited[i]){
			ans++;
		}
	}
	cout<<ans<<'\n';
	for(int i=0;i<n;i++){
		if(!visited[i]){
			cout<<i+1<<' ';
		}
	}
}

RészfeladatÖsszpontTesztVerdiktIdőMemória
base7/50
1Elfogadva0/01ms512 KiB
2Hibás válasz0/094ms4140 KiB
3Hibás válasz0/21ms316 KiB
4Hibás válasz0/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Hibás válasz0/21ms316 KiB
7Hibás válasz0/21ms316 KiB
8Hibás válasz0/21ms316 KiB
9Hibás válasz0/21ms316 KiB
10Elfogadva2/26ms592 KiB
11Hibás válasz0/22ms316 KiB
12Hibás válasz0/24ms564 KiB
13Hibás válasz0/32ms316 KiB
14Hibás válasz0/36ms820 KiB
15Hibás válasz0/39ms1412 KiB
16Hibás válasz0/386ms3264 KiB
17Hibás válasz0/37ms820 KiB
18Hibás válasz0/317ms2868 KiB
19Hibás válasz0/3109ms7040 KiB
20Hibás válasz0/3175ms7984 KiB
21Hibás válasz0/3118ms7284 KiB
22Elfogadva3/31ms316 KiB