Pagini recente » Cod sursa (job #2664696) | Cod sursa (job #798070) | Cod sursa (job #665513) | Cod sursa (job #2730668) | Cod sursa (job #3142802)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("dusman.in");
ofstream fout("dusman.out");
const int maxn = 1000;
bool deny[maxn + 1][maxn + 1];
int n, k, cnt;
int seq[maxn + 1];
bool used[maxn + 1];
void backtrack(int poz) {
if (poz > n) {
cnt++;
if (cnt == k) {
for (int i = 1; i <= n; i++)
fout << seq[i] << ' ';
exit(0);
}
return;
}
for (int i = 1; i <= n; i++)
if (!used[i] && !deny[i][seq[poz - 1]]) {
seq[poz] = i;
used[i] = true;
backtrack(poz + 1);
used[i] = false;
}
}
int main() {
int m;
fin >> n >> k >> m;
for (int i = 0; i < m; i++) {
int x, y;
fin >> x >> y;
deny[x][y] = deny[y][x] = true;
}
backtrack(1);
return 0;
}