Cod sursa(job #2856341)

Utilizator lari257Florea Larisa lari257 Data 23 februarie 2022 18:46:09
Problema Datorii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
using namespace std;

ifstream fin("admitere-fmi-2016.in");
ofstream fout("admitere-fmi-2016.out");

int n, m, k;
int v[100001];
vector <int> g[100001];

queue <int> a;

bool sters[100001];

int main()
{
	fin >> n >> m >> k;
	for (int i=1; i<= m; i++)
	{
		int x, y;
		fin >> x >> y;
		g[x].push_back(y);
		g[y].push_back(x);
		v[x]++;
		v[y]++;

	}
	for (int i = 1; i <= n; i++)
		fout << v[i] << " ";
	fout << '\n';
	for (int i = 1; i <= n; i++)
		if (v[i] < k)
		{
			a.push(i);
			sters[i] = 1;
		}

	while (a.size() > 0)
	{
		int x = a.front();
		a.pop();
		for (int i = 0; i < g[x].size(); i++)
		{
			if(sters[g[x][i]]==0)
			{
				v[g[x][i]]--;
				if (v[g[x][i]] < k)
				{
					a.push(g[x][i]);
					sters[g[x][i]] = 1;
				}
			}
			
		}
	}

	bool ok = 0;
	for (int i = 1; i <= n; i++)
		if (sters[i] == 0)
		{
			ok = 1;
			fout << i << " ";
		}

	if (ok == 0)
		fout << "NU";



	return 0;
}