Cod sursa(job #526038)

Utilizator DraStiKDragos Oprica DraStiK Data 27 ianuarie 2011 09:52:50
Problema Combinari Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <algorithm>
using namespace std;

#define DIM (1<<18)+5

int nrb[DIM];
int n,k;

void solve ()
{
    int i,j;

    nrb[1]=1;
    for (i=2; i<(1<<n); ++i)
    {
        nrb[i]=nrb[i>>1]+(i&1);
        if (nrb[i]==k)
        {
            for (j=1; j<=n; ++j)
                if (i&(1<<(j-1)))
                    printf ("%d ",j);
            printf ("\n");
        }

    }
}

int main ()
{
    freopen ("combinari.in","r",stdin);
    freopen ("combinari.out","w",stdout);

    scanf ("%d%d",&n,&k);
    solve ();

    return 0;
}