Pagini recente » Cod sursa (job #691288) | Cod sursa (job #2841743) | Cod sursa (job #891892) | Cod sursa (job #1735033) | Cod sursa (job #197005)
Cod sursa(job #197005)
#include <stdio.h>
#include <bitset>
using namespace std;
#define NMAX 1010
int N, K, M;
bitset <NMAX> jeg[NMAX];
char ap[NMAX];
int a[NMAX];
int nr = 0;
int back(int k)
{
if (k == N + 1) {
nr++;
if (nr == K) return 1;
}
int i;
for (i = 1; i <= N; i++) {
if (ap[i]) continue;
if (jeg[a[k - 1]][i]) continue;
a[k] = i; ap[i] = 1;
if (back(k + 1)) return 1;
ap[i] = 0;
}
return 0;
}
int main()
{
int i, x, y;
freopen("dusman.in", "r", stdin);
freopen("dusman.out", "w", stdout);
scanf("%d %d %d", &N, &K, &M);
for (i = 1; i <= M; i++) {
scanf("%d %d", &x, &y);
jeg[x][y] = jeg[y][x] = 1;
}
back(1);
for (i = 1; i <= N; i++) printf("%d ", a[i]);
printf("\n");
return 0;
}