Pagini recente » Cod sursa (job #2163348) | Cod sursa (job #1459537) | Cod sursa (job #1454243) | Cod sursa (job #1053064) | Cod sursa (job #2541936)
/// pentru combinari lexicografic descrescatoare
using namespace std;
#define fisier "combinari"
#ifdef fisier
#include <fstream>
ifstream in(fisier ".in");
ofstream out(fisier ".out");
#else
#include <iostream>
#define in cin
#define out cout
#endif
bool x[18];
int pas, n, k, luate;
void print() {for (int i = 0; i < n; i++) if (x[i]) out << i + 1 << ' '; out << '\n';}
void backtrack() {
pas++;
if (pas == n) {
print();
} else {
if (k - luate != n - pas) {
backtrack();
}
if (luate != k) {
x[pas] = true;
luate++;
backtrack();
luate--;
x[pas] = false;
}
}
pas--;
}
int main() {
in >> n >> k;
pas = -1;
backtrack();
}
//