Cod sursa(job #3305489)

Utilizator robigiirimias robert robigi Data 1 august 2025 22:16:24
Problema Cautare binara Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.98 kb
#include <fstream>
#include <vector>

using namespace std;

void printCombination(const vector<int>& solution, ofstream& fout)
{
    for (size_t i = 1; i < solution.size(); ++i)
    {
        fout << solution[i] << " ";
    }
    fout << "\n";
}

void generateCombinations(int ofN, int takenK, int pos, vector<int>& used, vector<int>& sol, ofstream& fout)
{
    if (pos > takenK)
    {
        printCombination(sol, fout);
        return;
    }

    for (int i = sol[pos - 1] + 1; i <= ofN; ++i)
    {
        if (!used[i])
        {
            used[i] = 1;
            sol[pos] = i;
            generateCombinations(ofN, takenK, pos + 1, used, sol, fout);
            used[i] = 0;
        }
    }
}

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

    int n, k;

    fin >> n >> k;

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

    generateCombinations(n, k, 1, used, sol, fout);

    return 0;
}