Pagini recente » Cod sursa (job #1946652) | Cod sursa (job #1705934) | Cod sursa (job #395946) | Cod sursa (job #2044037) | Cod sursa (job #2478066)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream in("dusmani.in");
ofstream out("dusmani.out");
bool dusmanie[1000][1000];
int sol = 0;
void permutari(vector <int> &perm, vector <bool> &used, int n, int pos, int k) {
if (pos == n) {
sol++;
if (sol == k) {
for (auto &&el: perm) {
out << el << ' ';
}
out << '\n';
exit(0);
}
return;
}
for (int i = 1; i <= n; i++) {
if (!used[i]) {
if (pos > 0 && dusmanie[i][perm[pos - 1]])
continue;
perm[pos] = i;
used[i] = true;
permutari(perm, used, n, pos + 1, k);
used[i] = false;
}
}
}
int main() {
int n, k, m;
in >> n >> k >> m;
int a, b;
for (int i = 0; i < m; i++) {
in >> a >> b;
dusmanie[a][b] = true;
dusmanie[b][a] = true;
}
vector <int> perm(n);
vector <bool> used(n, false);
permutari(perm, used, n, 0, k);
return 0;
}