Cod sursa(job #2831664)

Utilizator tiut_cristianTiut Cristian tiut_cristian Data 11 ianuarie 2022 20:56:48
Problema Combinari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream>

using namespace std;

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

bool verif(int nivel, int sol[])
{
    for (int i = 1; i < nivel; i++)
        if (sol[nivel] == sol[i])
            return false;
    return true;
}

void afisare(int k, int sol[])
{
    for (int i = 1; i <= k; i++)
        fout << sol[i] << ' ';
    fout << '\n';
}

void f(int nivel, int n, int k, int sol[])
{
    for (int i = sol[nivel-1]; i <= n; i++)
    {
        sol[nivel] = i;
        if (verif(nivel, sol))
            if (nivel == k)
                afisare(k, sol);
            else
                f(nivel+1, n, k, sol);
    }
}

int main()
{
    int n, k;
    fin >> n >> k;
    int sol[k+1];
    sol[0] = 1;
    f(1, n, k, sol);
    return 0;
}