Pagini recente » Cod sursa (job #3275779) | Cod sursa (job #3245521) | Borderou de evaluare (job #1577029) | Cod sursa (job #2513571) | Cod sursa (job #2379208)
#include <iostream>
#include <fstream>
using namespace std;
int N,K, st[20];
void afis() {
for(int i=1; i<=K; i++)
cout<<st[i]<<" ";
cout<<'\n';
}
bool ok(int p) {
if(p==1)
return 1;
if(st[p]>st[p-1])
return 1;
return 0;
}
void backtrack(int p) {
for(int i=1; i<=N; i++){
st[p]=i;
if(ok(p)) {
if(p==K)
afis();
else
backtrack(p+1);
}
st[p]=0;}
}
int main() {
cin>>N>>K;
backtrack(1);
return 0;
}