145282025-01-13 21:09:01gfaragoHálózati biztonság (50)cpp17Accepted 50/50165ms7148 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 vertexes
	for(int i=0;i<m;i++){
		int x, y;cin>>x>>y;
		x--;y--;
		c[x]++;
		c[y]++;
		a[x].push_back(y);
		a[y].push_back(x);
	}
	queue<int> q;
	vector<bool> visited(n, false);
	for(int i=0;i<n;i++){
		if(c[i]<k){
			q.push(i);
			visited[i]=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<<' ';
		}
	}
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms500 KiB
2Accepted0/090ms3864 KiB
3Accepted2/21ms316 KiB
4Accepted2/21ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms316 KiB
7Accepted2/21ms316 KiB
8Accepted2/21ms316 KiB
9Accepted2/21ms316 KiB
10Accepted2/27ms568 KiB
11Accepted2/22ms316 KiB
12Accepted2/24ms576 KiB
13Accepted3/31ms316 KiB
14Accepted3/36ms700 KiB
15Accepted3/37ms1332 KiB
16Accepted3/382ms2864 KiB
17Accepted3/36ms740 KiB
18Accepted3/310ms2224 KiB
19Accepted3/3107ms6236 KiB
20Accepted3/3165ms7148 KiB
21Accepted3/3103ms6272 KiB
22Accepted3/31ms316 KiB