Pagini recente » Cod sursa (job #2982445) | Cod sursa (job #2141179) | Cod sursa (job #1528591) | Cod sursa (job #2149162) | Cod sursa (job #457987)
Cod sursa(job #457987)
#include <cstdio>
#include <bitset>
using namespace std;
const char FIN[] = "dusman.in";
const char FOU[] = "dusman.out";
const int MAX = 1005;
int sol[MAX];
bitset<MAX> A[MAX], X;
int N, K, M;
void afis()
{
for (int i = 1; i <= N; ++i)
printf("%d ", sol[i]);
}
void dusman( int k )
{
if ( K < 0 ) return ;
if ( k > N )
{
if ( --K == 0 ) afis();
return ;
}
for (int i = 1; i <= N; ++i)
if ( X[i] == 0 && A[ sol[k - 1] ][ i ] == 0 )
sol[ k ] = i, X[i] = 1, dusman(k + 1), X[i] = 0;
}
int main()
{
freopen(FIN, "r", stdin);
freopen(FOU, "w", stdout);
scanf("%d %d %d", &N, &K, &M);
int x, y;
for (int i = 1; i <= M; ++i)
scanf("%d %d", &x, &y), A[x][y] = A[y][x] = 1;
dusman(1);
return 0;
}