Pagini recente » Cod sursa (job #1796340) | Cod sursa (job #440136) | Cod sursa (job #1034172) | Cod sursa (job #273352) | Cod sursa (job #162625)
Cod sursa(job #162625)
#include <cstdio>
#include <cstdlib>
using namespace std;
#define FIN "dusman.in"
#define FOUT "dusman.out"
#define MAX_N 1005
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 ()
{
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[p - 1]]!=1)
{
S[p] = i;
v[i] = 1;
if (p == N) ++np;
else if (p < N) doit (p + 1);
if (np == K)
{
note ();
return ;
}
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;
}