Cod sursa(job #728895)

Utilizator freakingVlad Eu freaking Data 29 martie 2012 08:49:00
Problema Submultimi Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <cstdio>
#define _in "submultimi.in"
#define _out "submultimi.out"
#define _nmax 17

void resolve(int pas, int lim);
void afisare(int lim);

bool ok[_nmax];

int main()
{

    freopen (_in,"r",stdin);
    freopen (_out,"w",stdout);

    int a;
    scanf("%d",&a);

    resolve(1,a);

    return 0;
}

void resolve(int pas, int lim)
{
    ok[pas]=1;
        if(pas==lim)
            afisare(lim);
        else
            resolve(pas+1,lim);
    ok[pas]=0;
        if(pas==lim)
            afisare(lim);
        else
            resolve(pas+1,lim);
}

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