Cod sursa(job #737481)

Utilizator BugirosRobert Bugiros Data 19 aprilie 2012 15:24:59
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <cstdio>
using namespace std;

const int MAXN = 20;

bool luat[MAXN];
int nr_luat = 0;
int n,k;

void citire()
{
    freopen("combinari.in","r",stdin);
    freopen("combinari.out","w",stdout);
    scanf ("%d%d",&n,&k);
}

void afisare()
{
    for (int i = 1;i <= n;++i)
        if (luat[i])
            printf ("%d ",i);
    printf ("\n");
}

void bkt(int i)
{
    if (i >= n + 1)
    {
        if (nr_luat == k)
            afisare();
        return;
    }
    luat[i] = true;
    ++nr_luat;
    bkt(i + 1);
    luat[i] = false;
    --nr_luat;
    bkt(i + 1);
}

int main()
{
    citire();
    bkt(1);
    return 0;
}