Pagini recente » Cod sursa (job #1177628) | Cod sursa (job #449433) | Cod sursa (job #1540327) | Cod sursa (job #3132550) | Cod sursa (job #117912)
Cod sursa(job #117912)
#include <stdio.h>
#include <fstream>
using namespace std;
#define in "dusman.in"
#define out "dusman.out"
#define dim 1001
int N, K, M, S=0;
int X[dim];
bool Sel[dim][dim], C[dim];
void Back(int);
void Write();
int main()
{
int X1, X2;
freopen(in,"r",stdin);
freopen(out,"w",stdout);
scanf("%d%d%d", &N, &K, &M);
X[0] = 0;
for ( ; M > 0; M-- )
scanf("%d%d", &X1, &X2), Sel[X1][X2] = Sel[X2][X1] = 1;
Back(1);
}
void Back(int k)
{
for ( int i = 1; i <= N; i++ )
{
X[k] = i;
if ( !C[X[k]] && Sel[X[k-1]][X[k]] != 1 )
{
if ( k < N )
{
C[X[k]] = 1;
Back(k+1);
C[X[k]] = 0;
}
else if ( k == N )
{
S += 1;
if ( S == K ) Write();
}
}
}
}
void Write()
{
for ( int i = 1; i <= N; i++ )
printf("%d ", X[i]);
exit(0);
}