Pagini recente » Cod sursa (job #2830467) | Cod sursa (job #2729647) | Cod sursa (job #2387704) | Cod sursa (job #761559) | Cod sursa (job #411454)
Cod sursa(job #411454)
#include <stdio.h>
#define MAX_N 1024
short int d[MAX_N][MAX_N];
short int use[MAX_N];
int n, k, m, nr;
int perm[MAX_N];
void back(int poz) {
if (poz > n) {
nr++;
if (nr == k) {
for (int i = 1; i <= n; i++)
printf("%d ", perm[i]);
printf("\n");
}
return;
}
for (int i = 1; i <= n; i++)
if (use[i] == 0 && d[i][perm[poz - 1]] == 0) {
use[i] = 1; perm[poz] = i;
back(poz + 1);
use[i] = 0;
if (nr == k) return;
}
}
int main() {
freopen("dusman.in", "r", stdin);
freopen("dusman.out", "w", stdout);
scanf("%d %d %d", &n, &k, &m);
for (int i = 1; i <= m; i++) {
int x, y;
scanf("%d %d", &x, &y);
d[x][y] = d[y][x] = 1;
}
back(1);
return 0;
}