Cod sursa(job #1689412)

Utilizator MihaiNGNeamt Mihai MihaiNG Data 14 aprilie 2016 11:01:29
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include <iostream>
#include <fstream>

using namespace std;

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

unsigned n, k, x[20];

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

int cond(unsigned poz)
{
    for(unsigned i = 1; i < poz; i++)
        if(x[poz] == x[i])
            return 0;
    for(unsigned i = 1; i < poz; i++)
        if(x[poz] < x[i])
            return 0;
    return 1;
}

void combinari(unsigned poz)
{
    for(unsigned i = 1; i <= n; i++)
    {
        x[poz] = i;
        if(cond(poz))
        {
            if(poz == k)
                afisare(k);
            else
                combinari(poz + 1);
        }
    }
}

int main()
{

    fin >> n >> k;
    combinari(1);

    return 0;
}