Pagini recente » Cod sursa (job #2455345) | Cod sursa (job #2155720) | Cod sursa (job #952620) | Cod sursa (job #2771949) | Cod sursa (job #539915)
Cod sursa(job #539915)
// http://infoarena.ro/problema/combinari
#include <fstream>
using namespace std;
#define maxSize 20
ifstream in("combinari.in");
ofstream out("combinari.out");
int n; // combinari de n
int k; // luate cate k
int number[maxSize];
void back(int level);
bool check(int position);
void write();
int main() {
in >> n >> k;
back(1);
return (0);
}
void back(int level) {
if(level > k)
write();
else
for(int i=1;i<=n;i++) {
number[level] = i;
if(check(level))
back(level+1);
}
}
bool check(int position) {
if(position >= 1 && number[position] > number[position-1])
return true;
else
return false;
}
void write() {
for(int i=1;i<=k;i++)
out << number[i] << " ";
out << "\n";
}