Pagini recente » Cod sursa (job #794478) | Cod sursa (job #668276) | Profil Trixer | Monitorul de evaluare | Cod sursa (job #1013548)
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
int n,k;
int solution[20];
int isValid(int pos){
for (int i=1; i<pos; i++){
if (solution[i] == solution[pos]){
return 0;
}
}
return 1;
}
void printResult(){
for (int i=1; i<=k; i++){
printf("%d ", solution[i]);
}
printf("\n");
}
void combine(int currentPos){
if (currentPos > k){
printResult();
} else {
for (int i=solution[currentPos-1]+1; i<=n; i++){
solution[currentPos] = i;
if (isValid(currentPos)){
combine(currentPos+1);
}
}
}
}
int main()
{
freopen("combinari.in", "r", stdin);
freopen("combinari.out", "w", stdout);
scanf("%d %d", &n, &k);
combine(1);
return 0;
}