Cod sursa(job #3351982)

Utilizator octavP18Podan Octvavin octavP18 Data 22 aprilie 2026 21:01:41
Problema Dusman Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <iostream>

#include <fstream>

#include<map>

#include<algorithm>

#include<vector>

#include <string>

#include <stack>

#define all(x) x.begin(), x.end()

using namespace std;

ifstream fin("dusman.in");
ofstream fout("dusman.out");

int n, m, k;
int x, y, cnt;
int perm[1005];
int dusmanie[1005][1005];
bool used[1005];

void afis(int k) {
	for (int i = 1; i <= k; ++i) {
		fout << perm[i] << " ";
	}
	fout << '\n';
}

void bkt(int i) {
	if (i > n) {
		++cnt;
		if (cnt == k) {
			afis(i - 1);
			exit(0);
		}
		return;
	}
	for (int j = 1; j <= n; ++j) {
		if (dusmanie[j][perm[i - 1]] == 0) {
			if (!used[j]) {
				used[j] = true;
				perm[i] = j;
				bkt(i + 1);
				used[j] = false;
			}
		}
	}
}


int main() {

	fin >> n >> k >> m;
	for (int i = 1; i <= m; ++i) {
		fin >> x >> y;
		dusmanie[x][y] = dusmanie[y][x] = 1;
	}
	bkt(1);

}