Cod sursa(job #2875118)

Utilizator Tudose_StefanTudose Alexandru Stefan Tudose_Stefan Data 21 martie 2022 00:20:38
Problema Combinari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.83 kb
#include <fstream>
#include <vector>


using namespace std;

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

void afisare(vector <int> & sol)
{
    for (auto i:sol)
        fout << i << ' ';
    fout << '\n';
}

bool ok(vector <int> &sol, int r)
{
    bool verif = 1;
    for (int i = 0; i < r; i++)
        if (sol[i] >= sol[r])
            verif = 0;
    return verif;
}


void backu(vector <int> & sol, int r, int k, int n)
{
    for (int i = 1; i <= n; i++)
    {
        sol[r] = i;
        if (ok(sol, r))
        {
            if (r == k-1)
                afisare(sol);
            else
                backu(sol, r+1, k, n);
        }
    }
}
int n, k;


int main()
{
    fin >> n >> k;
    vector <int> sol;
    sol.assign(k, 0);
    backu(sol, 0, k, n);
    return 0;
}