Pagini recente » Monitorul de evaluare | Cod sursa (job #634496) | Cod sursa (job #154995) | Borderou de evaluare (job #1510594) | Cod sursa (job #2374652)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
int st[100], k,n;
int multime[20];
void init(int n) {
for(int i=1;i<=n;i++) {
multime[i-1]=i;
}
}
void afis(int etaj) {
for(int i=1;i<=etaj;i++)
fout << st[i] << " ";
fout << endl;
}
bool valid(int etaj) {
for(int i=0;i<=etaj-1;i++) {
if(st[etaj-1]>=st[etaj]) {
return 0;
}
}
return 1;
}
void back(int etaj) {
for(int i=0;i<n;i++) {
st[etaj]=multime[i];
if(valid(etaj)) {
if(etaj==k)
afis(etaj);
else back(etaj+1);
}
}
}
int main(int argc, char *argv[]) {
fin >> n >> k;
init(n);
back(1);
}