Pagini recente » Cod sursa (job #3278960) | Cod sursa (job #2422987) | Cod sursa (job #3241354) | Cod sursa (job #3291599) | Cod sursa (job #3227327)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
int n, k;
int c[20];
void afis(int x){
for (int j=1; j<=x; ++j){
fout << c[j] << ' ';
}
fout << '\n';
}
bool OK(int x){
for (int i=1; i<x; ++i){
if (c[x]==c[i]){
return false;
}
}
if (x>1){
if (c[x-1]>=c[x]){
return false;
}
}
return true;
}
void backtr(int x){
for (int i=1; i<=n; ++i){
c[x] = i;
if (OK(x)){
if (x==k){
afis(x);
}
else {
backtr(x+1);
}
}
}
}
int main()
{
fin >> n >> k;
backtr(1);
return 0;
}