Cod sursa(job #2927829)

Utilizator Ser.MariusSerban Marius Aurelian Ser.Marius Data 21 octombrie 2022 17:07:39
Problema Combinari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.85 kb
#include <fstream>
using namespace std;

ifstream f("combinari.in");
ofstream g("combinari.out");

int n,sol[30],p;

void citire()
{
    f>>n>>p;
}
void init(int k)
{
    sol[k]=0;
}

bool succesor(int k)
{
    if(sol[k]<n)
        return true;
    else
        return false;
}
bool valid(int k)
{
    if(sol[k-1]>=sol[k] && (k>1))
        return false;
    return true;

}
void tipar(int k)
{
    for(int i=1;i<=k;i++)
        g<<sol[i]<< ' ';
    g<<'\n';
}
int solutie(int k)
{
    return k==p;
}

void BKT(int k)
{
    init(k);
    while(succesor(k))
    {
        sol[k]=sol[k]+1;
        if(valid(k))
        {
            if(solutie(k))
                tipar(k);
            else BKT(k+1);
        }
    }
}

int main()
{
    citire();
    BKT(1);
    f.close();
    g.close();
    return 0;
}