Nu aveti permisiuni pentru a descarca fisierul grader_test1.in
Cod sursa(job #2541936)
| Utilizator | Data | 9 februarie 2020 10:26:40 | |
|---|---|---|---|
| Problema | Combinari | Scor | 10 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.91 kb |
/// 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();
}
//
