Cod sursa(job #3354989)

Utilizator cosmin1337Baroana Cosmin cosmin1337 Data 21 mai 2026 15:14:34
Problema Combinari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.91 kb
#include <fstream>
#include <iostream>
#include <vector>

using namespace std;

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

    int n, k;
    fin >> n >> k;

    vector<int> solution;
    vector<int> used(n + 1, 0);

    auto print_array = [&](vector<int> &a) -> void {
        for (int i = 0; i < k; i++) {
            fout << a[i] << " ";
        }
        fout << "\n";
    };

    auto backtracking = [&](auto self) -> void {

        if (solution.size() == k) {
            print_array(solution);
            return;
        }

        for (int i = 1; i <= n; i++) {
            if (solution.empty() || !used[i] && solution.back() < i) {
                solution.push_back(i);
                used[i] = 1;
                self(self);

                solution.pop_back();
                used[i] = 0;
            }
        }
    };

    backtracking(backtracking);
    return 0;
}