Pagini recente » Cod sursa (job #1115920) | Cod sursa (job #2852471) | Cod sursa (job #894611) | Rating Preda Marian (gogus201) | Cod sursa (job #1016957)
#include <iostream>
#include <stdio.h>
using namespace std;
int n, k, sol[20], freq[20];
void afisareSolutie() {
int i;
for(i = 1; i < k; ++i)
printf("%d ", sol[i]);
printf("%d\n",sol[i]);
}
void backtrack(int lev) {
if(lev > k) {
afisareSolutie();
} else {
for(int i = 1; i <= n; ++i) {
sol[lev] = i;
//if(freq[i] == 0) { // pentru aranjamente
if(freq[i] == 0 && sol[lev] > sol[lev - 1]) { // pentru combinari
freq[i] = 1;
backtrack(lev + 1);
freq[i] = 0;
}
}
}
}
int main() {
freopen("combinari.in", "r", stdin);
freopen("combinari.out", "w", stdout);
scanf("%d %d", &n, &k);
backtrack(1);
return 0;
}