Cod sursa(job #1232321)

Utilizator pop_bogdanBogdan Pop pop_bogdan Data 22 septembrie 2014 18:03:28
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>
using namespace std;

ifstream is("combinari.in");
ofstream os("combinari.out");

int N, K, x[19];
bool s[19];
void Comb(int k);
void Write(int k);
bool OK(int k);

int main()
{
    is >> N >> K;
    Comb(1);

    is.close();
    os.close();
}

void Comb(int k)
{
    if ( k == K+1 )
    {
        Write(K);
        return;
    }

    for ( int i = 1; i <= N; ++i )
    {
        x[k] = i;
        if ( OK(k) == true )
            Comb(k+1);
    }
}

bool OK(int k)
{
    for ( int i = 1; i < k; ++i )
    {
        if ( x[k] <= x[i] )
            return false;
    }
    return true;
}

void Write(int k)
{
    for ( int i = 1; i <= k; ++i )
        os << x[i] << " ";
    os << '\n';
}