Cod sursa(job #3344764)

Utilizator Alexutu008Ionita Alexandru-Dumitru Alexutu008 Data 5 martie 2026 16:17:32
Problema Dusman Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <bits/stdc++.h>

using namespace std;

int n, m, k;
set<int> is_enemy[1001];
bool visited[1001];
int perm[1001];

void bkt(int step) {
	if (step == n + 1) {
		if (k == 1) {
			for (int i = 1; i <= n; ++i) cout << perm[i] << ' ';
			exit(0);
		}
		--k;
		return;
	}
	for (int i = 1; i <= n; ++i) {
		if (!visited[i] && !is_enemy[perm[step - 1]].count(i)) {
			visited[i] = 1;
			perm[step] = i;
			bkt(step + 1);
			visited[i] = 0;
		}
	}
}

int main() {
	freopen("dusman.in", "r", stdin);
	freopen("dusman.out", "w", stdout);
	ios::sync_with_stdio(false);
	cin.tie(0);

	cin >> n >> k >> m;
	while (m--) {
		int x, y;
		cin >> x >> y;
		is_enemy[x].insert(y);
		is_enemy[y].insert(x);
	}

	bkt(1);

	return 0;
}