Pagini recente » Cod sursa (job #3140273) | Cod sursa (job #2518619) | Cod sursa (job #668823) | Cod sursa (job #1728408) | Cod sursa (job #458953)
Cod sursa(job #458953)
#include <cstdio>
#include <algorithm>
#define nmax 1005
using namespace std;
int sol, K, n, m, deg [nmax], V[nmax], G[nmax][5];
inline bool check () {
int i, j;
for (i = 1; i <= n; i++)
for (j = 1; j <= deg[i]; j++)
if (G[V[i]][j] == V[i + 1] || G[V[i]][j] == V[i - 1])
return 0;
return 1;
}
int main () {
int i, a, b;
freopen ("dusman.in", "r", stdin);
freopen ("dusman.out", "w", stdout);
scanf ("%d%d%d\n", &n, &K, &m);
for (i = 1; i <= n; i++) V[i] = i;
V[0] = V[n + 1] = 100000;
for (i = 1; i <= m; i++) {
scanf ("%d%d\n", &a, &b);
G[a][++deg[a]] = b;
G[b][++deg[b]] = a;
}
do {
if (check ()) ++sol;
if (sol == K) {
for (i = 1; i <= n; i++) printf ("%d ", V[i]);
break;
}
} while (next_permutation (V + 1, V + n + 1));
}