Pagini recente » Cod sursa (job #1312381) | Cod sursa (job #2711981) | Cod sursa (job #2755882) | Cod sursa (job #724391) | Cod sursa (job #2482187)
#include <iostream>
#include <fstream>
using namespace std;
#define N 1024
int n,m,k,x,y,a[N][N],ans[N],sel[N],v[N],finished,cnt;
void bkt (int it){
if (finished)
return;
if (it == n){
++cnt;
if (cnt == k){
finished = 1;
for (int i = 0; i < n; ++i)
ans[i] = v[i];
}
}
for (int i = 0; i < n && !finished; ++i)
if (!sel[i]){
if (!it || !a[v[it - 1]][i]){
sel[i] = 1;
v[it] = i;
bkt (it + 1);
v[it] = 0;
sel[i] = 0;
}
}
}
int main()
{
ifstream fin ("dusman.in");
ofstream fout ("dusman.out");
fin >> n >> k >> m;
for (int i = 0; i < m; ++i){
fin >> x >> y;
--x;--y;
a[x][y] = 1;
a[y][x] = 1;
}
bkt (0);
for (int i = 0; i < n; ++i)
fout << ans[i] + 1 << " ";
return 0;
}