Cod sursa(job #1368132)

Utilizator Paul9807Herman Paul Paul9807 Data 2 martie 2015 14:22:53
Problema Combinari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 1.05 kb
#include<iostream>
#include<fstream>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
int st[10],n,k,p;
int init()
{
    st[k]=0;
}
int sucesor()
{
    if (st[k]<n)
    {
        st[k]++;
        return 1;
    }
    else
    {
        return 0;
    }
}
int valid()
{
 if (st[k]>st[k-1])
 {
     return 1;
 }
 else
 {
     return 0;
 }
}
int solutie()
{
    return k==p;
}
int tipar()
{
    for (int i=1;i<=k;i++)
    {
        fout<<st[i]<<" ";
    }
    fout<<endl;
}
int bkt()
{
    int as;
    k=1;
    init();
    while (k>0)
    {
        do{}
        while ((as=sucesor()) && !valid());
        if (as)
        {
            if (solutie())
            {
                tipar();
            }
            else
            {
                k++;
                init();
            }
        }
        else
        {
            k--;
        }
    }
}
int main ()
{
    fin>>n;
    fin>>p;
    bkt();
    return 0;
    fin.close();
    fout.close();
}