Cod sursa(job #1003706)

Utilizator TheNechizFMI Razvan Birisan TheNechiz Data 1 octombrie 2013 13:09:09
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.9 kb
# include <fstream>

using namespace std;

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

int st[10],n,k,K;

void Init()
{
    st[k] = 0 ;
}

bool Am_Succesor()
{
    if( st[k] < n )
    {
        st[k]++;
        return true;
    }
    else return false;
}

bool E_Valid()
{
    if( k > 1 && st[k] <= st[k-1] )
        return false;
    return true;
}

bool Solutie()
{ return k==K; }

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

void back()
{
    int AS;
    k = 1;
    Init();
    while( k > 0 )
    {
        do {} while( (AS=Am_Succesor()) && !E_Valid() );
        if( AS )
            if( Solutie() ) Tipar();
            else { ++k; Init(); }
        else --k;
    }
}

int main()
{
    fin >> n;
    fin >> K;
    back();

    fin.close();
    fout.close();
    return 0;
}