Pagini recente » Cod sursa (job #1985) | Cod sursa (job #729603) | Cod sursa (job #1600362) | Cod sursa (job #793105) | Cod sursa (job #2931961)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
int n, subm[19], k, v[19], ok = 0;
void gen(int element, int lgSubm) {
if (element == n + 1) {
ok = 0;
for (int i = 0; i < k - 1; ++i) {
if (subm[i] >= subm[i + 1]) {
return;
}
}
for (int i = 0; i < k; ++i) {
if (v[i] == subm[i]) {
++ok;
}
}
//cout << "ok = " << ok << "\n";
if (ok == k) {
return;
}
for (int i = 0; i < k; ++i) {
v[i] = subm[i];
fout << subm[i] <<' ';
}
for (int i = 0; i < k; ++i) {
v[i] = subm[i];
}
fout << "\n";
return;
}
subm[lgSubm] = element;
gen(element + 1, lgSubm + 1);
gen(element + 1, lgSubm);
}
int main() {
fin >> n >> k;
gen(1, 0);
}