Cod sursa(job #2541936)

Utilizator KPP17Popescu Paul KPP17 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();

}











//