Pagini recente » Cod sursa (job #2623877) | Cod sursa (job #1421878) | Cod sursa (job #271850) | Cod sursa (job #2700699) | Cod sursa (job #1495315)
#include <cstdio>
#include <bitset>
#define DIM 10010
using namespace std;
int N, K, M, X, Y, nr, ok, Vector[DIM];
bitset <DIM> Marked[DIM], Used;
inline void solution(){
for(int i = 1; i <= N; i ++)
printf("%d ", Vector[i]);
return;
}
inline void backTrack(int length){
if(length > N){
nr ++;
if(nr == K)
solution();
return;
}
for(int i = 1; i <= N; i ++){
if(!Used[i] && !Marked[i][Vector[length-1]] && nr < K){
Used[i] = 1;
Vector[length] = i;
backTrack(length + 1);
Vector[length] = 0;
Used[i] = 0;
}
}
return;
}
int main(){
freopen("dusman.in" ,"r", stdin );
freopen("dusman.out","w", stdout);
scanf("%d %d %d", &N, &K, &M);
for(int i = 1; i <= M; i ++){
scanf("%d %d", &X, &Y);
Marked[X][Y] = 1;
Marked[Y][X] = 1;
}
backTrack(1);
fclose(stdin );
fclose(stdout);
return 0;
}