Cod sursa(job #1122932)

Utilizator mihaiavram96Avram Mihai mihaiavram96 Data 25 februarie 2014 21:24:09
Problema Submultimi Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.89 kb
#include <iostream>
#include <fstream>

using namespace std;
fstream fin("submultimi.in",ios::in);
fstream fout("submultimi.out",ios::out);

int i,j,k,n,st[17];

void init()
{
    st[k]=0;
}
int Am_succesor(int &AS)
{
    if(st[k]<n)
        {
            st[k]++;
            AS=1;
            return 1;
        }
    AS=0;
    return 0;
}

int E_Valid()
{
    for(int i=1 ; i<k; i++)
        if(st[i] >= st[k])
            return 0;
    return 1;
}
void tipar()
{
    for(int i=1; i<=k; i++)
        fout<<st[i]<<' ';
    fout<<'\n';
}
void back()
{
    int AS;
    k=1; init();
    while(k)
    {
        do{}while(Am_succesor(AS) && !E_Valid());
        if(AS)
            {tipar();
            if(k!=n)
                {k++; init();}
            }
        else
            k--;

    }
}
int main()
{
    fin>>n;
    fin.close();
    back();
}