Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- using namespace std;
- ifstream cin("fb_fmi.in");
- ofstream cout("fb_fmi.out");
- int mat[1001][1001], visited[1001], comp[1001];
- int n, m , k, nrComp, compSol = -1, maxiComp, cnt;
- void DFS(int node)
- {
- for(int i = 1;i<=n;i++)
- if(mat[node][i])
- {
- mat[node][i] = 0;
- mat[i][node] = 0;
- mat[node][0]--;
- mat[i][0]--;
- if(mat[i][0] < k)
- DFS(i);
- }
- }
- int main()
- {
- cin >> n >> m >> k;
- for(int i = 1;i<=m;i++)
- {
- int a, b;
- cin >> a >> b;
- if(mat[a][b] == 0)
- {
- mat[a][b] = mat[b][a] = 1;
- mat[a][0]++;
- mat[b][0]++;
- }
- }
- for(int i = 1;i<=n;i++)
- if(mat[i][0] < k)
- DFS(i);
- int cnt = 0;
- for(int i = 1;i<=n;i++)
- if(mat[i][0] >= k)
- cnt++;
- cout << cnt << '\n';
- for(int i = 1;i<=n;i++)
- if(mat[i][0] >= k)
- cout << i << ' ';
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment