Pagini recente » Cod sursa (job #2576350) | Cod sursa (job #1337423) | Borderou de evaluare (job #2247306) | Cod sursa (job #3003557) | Cod sursa (job #2121601)
#include <fstream>
#define DIM 1010
using namespace std;
int a[DIM][DIM], f[DIM], x[DIM];
int n, gasit, z, y, i, sol, k, m;
ifstream fin("dusman.in");
ofstream fout("dusman.out");
void rec(int pas) {
if (gasit)
return;
if (pas > n) {
sol++;
if (sol == k) {
for (i=1;i<=n;i++)
fout<<x[i]<<" ";
fout<<"\n";
gasit = 1;
}
} else {
for (int i=1;i<=n;i++)
if (f[i] == 0) {
x[pas] = i;
f[i] = 1;
if (i == 1 || (i > 1 && a[ i ][ x[pas-1] ] == 0))
rec(pas+1);
f[i] = 0;
}
}
}
int main () {
fin>>n>>k>>m;
for (i=1;i<=m;i++) {
fin>>z>>y;
a[z][y] = 1;
a[y][z] = 1;
}
rec(1);
return 0;
}