Cod sursa(job #2379208)
| Utilizator | Data | 13 martie 2019 09:00:01 | |
|---|---|---|---|
| Problema | Combinari | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.53 kb |
#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;
}
