Cod sursa(job #1644079)

Utilizator larecursividadLa Recursividad larecursividad Data 9 martie 2016 21:28:03
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1 kb
#include <fstream>
#define InFile  "combinari.in"
#define OutFile "combinari.out"

using namespace std;

ifstream fin  (InFile);
ofstream fout (OutFile);

unsigned short int valid (unsigned short int k);

unsigned short int N, K;

unsigned short int x[18];
unsigned short int i;

int main ()
{
    fin >> N >> K;
    for (i=1; i<=K; i++)
        x[i] = 0;
    i = 1;
    do
    {
        do
        {
            x[i]++;
            if (x[i] > N)
            {
                x[i] = 0;
                i--;
            }
            else if (valid(i))
                i++;
        }
        while (i<=K && i>0);
        if (i > K)
        {
            for (i=1; i<=K; i++)
                fout << x[i] << ' ';
            fout << '\n';
            i = K;
        }
    }
    while (i > 0);
    return 0;
}

unsigned short int valid (unsigned short int k)
{
    unsigned short int i;
    for (i=1; i<k; i++)
        if (x[i] >= x[k])
        return 0;
    return 1;
}