Cod sursa(job #1328741)

Utilizator esti.varzaesti varza esti.varza Data 28 ianuarie 2015 18:38:18
Problema Submultimi Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.87 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("submultimi.in");
ofstream out("submultimi.out");
int st[10], k, n;

void init()
{
    st[k]=-1;
}
int succesor()
{
    if(st[k]<1)
    {
        st[k]++;
        return 1;
    }
    return 0;
}
int valid()
{
    return 1;
}
int solutie()
{
    return(k==n);
}
void tipar()
{
    int s=0;
    for(int i=1; i<=k; i++)
        s=s+st[i];
    if(s==0) return;
    for(int i=1; i<=k; i++)
        if(st[i]!=0)
            out<<i<<" ";
    out<<endl;
}
void back( )
{
    int as;
    k=1;
    init( );
    while(k>0)
    {
        do {}
        while((as=succesor())&&!valid());
        if(as)
            if(solutie())
                tipar();
            else
            {
                k++;
                init( );
            }
        else
            k--;
    }
}
int main()
{
    in>>n;
    back();
    return 0;
}