Cod sursa(job #1029269)

Utilizator TheNechizFMI Razvan Birisan TheNechiz Data 15 noiembrie 2013 11:45:25
Problema Submultimi Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.95 kb
# include <fstream>
using namespace std;

int x[17],k,n,cn,NrElem;

ifstream fin("submultimi.in");
ofstream fout("submultimi.out");

void Tipar()
{
    for( int i = 1 ; i <= NrElem ; ++i )
        fout << x[i] << ' ';
    fout << '\n';
}

bool Valid()
{
    if( k > 1 && x[k-1] >= x[k] )
        return false;
    return true;
}
bool Sol()
{
    if( k == NrElem )
    {
        return true;
    }
    return false;
}
void BKT()
{
    k = 1;
    x[k] = 0;
    while( k )
        if( x[k] < n )
        {
            ++x[k];
            if( Valid() )
            {
                if( Sol() )
                    Tipar();
                else
                {
                    ++k;
                    x[k] = 0;
                }
            }
        } else --k;
}

int main()
{
    fin >> n;
    for( NrElem = 1 ; NrElem <= n  ; ++NrElem )
        BKT();
    fin.close();
    fout.close();
    return 0;
}