Cod sursa(job #3219281)

Utilizator DobraVictorDobra Victor Ioan DobraVictor Data 30 martie 2024 16:53:20
Problema Combinari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <iostream>
#include <fstream>
#include <stdint.h>

const int32_t MAX_N = 18;

int32_t n, k;
bool used[MAX_N];

void Comb(int32_t ind, int32_t last, std::ostream& out) {
    if(ind == k) {
        for(int32_t i = 0; i != n; ++i)
            if(used[i])
                out << (i + 1) << ' ';
        out << '\n';
    } else {
        for(int32_t i = last + 1; i != n; ++i) {
            if(used[i])
                continue;
            used[i] = true;
            Comb(ind + 1, i, out);
            used[i] = false;
        }
    }
}

int main() {
    std::ifstream fin("combinari.in");
    std::ofstream fout("combinari.out");

    fin >> n >> k;

    Comb(0, -1, fout);

    fin.close();
    fout.close();

    return 0;
}