Cod sursa(job #1927144)

Utilizator CammieCamelia Lazar Cammie Data 14 martie 2017 22:42:13
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.95 kb
#include <fstream>

using namespace std;

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

int k, kk, x[24], n, fr[24];

inline void Read()
{
    fin >> n >> kk;
}

inline int cond(int k)
{
    if (fr[x[k]])
        return 0;
    return 1;
}

inline void afisare()
{
    for (int i = 1; i <= k; i++)
        fout << x[i] << " ";
    fout << "\n";
}

inline void bkt()
{
    k = 1;

    while (k)
    {
        if (x[k] < n)
        {
            x[k]++;

            if (cond(k))
            {
                if (k == kk)
                    afisare();
                else
                {
                    fr[x[k]]++;
                    k++;
                    x[k] = x[k - 1];
                }
            }
        }
        else
        {
            k--;
            fr[x[k]] = 0;
        }
    }
}

int main ()
{
    Read();
    bkt();

    fin.close(); fout.close(); return 0;
}