Pagini recente » Cod sursa (job #2257634) | Cod sursa (job #3252120) | Cod sursa (job #1772897) | Cod sursa (job #1441423) | Cod sursa (job #116202)
Cod sursa(job #116202)
#include <cstdio>
#include <cstdlib>
using namespace std;
#define FIN "dusman.in"
#define FOUT "dusman.out"
#define MAX_N 1 << 10
int S[MAX_N];
int N, M, K;
int a, b, i;
unsigned char A[MAX_N][MAX_N];
int np;
int v[MAX_N];
void note ()
{
++np;
if (np == K)
{
int i;
for (i = 1; i <= N; ++i)
printf ("%d ", S[i]);
exit (0);
}
}
void doit (int p)
{
int i;
for (i = 1; i <= N; ++i)
if (!v[i] && A[i][S[i - 1]]!=1)
{
S[p] = i;
v[i] = 1;
if (p == N) note();
else if (p < N) doit (p + 1);
v[i] = 0;
}
}
int main ()
{
freopen (FIN, "r", stdin);
freopen (FOUT, "w", stdout);
scanf ("%d %d %d", &N, &K, &M);
for (i = 1; i <= M; ++i)
{
scanf ("%d %d", &a, &b);
A[a][b] = A[b][a] = 1;
}
doit (1);
return 0;
}