Cod sursa(job #1728251)

Utilizator adimiclaus15Miclaus Adrian Stefan adimiclaus15 Data 12 iulie 2016 15:56:02
Problema Submultimi Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 1.13 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("submultimi.in");
ofstream g("submultimi.out");
int v[17],n,sw,ev,k,j;
void init()
{
    v[k]=0;
}
void succesor()
{
    ev=0;
    if(v[k]<n)
    {
        v[k]++;
        ev=1;
    }
}
void valid()
{
    int i;
    sw=1;
    for(i=1;i<k;i++)
    {
        if(v[k]<=v[i])
        {
            sw=0;
            i=k;
        }
    }
}
void afisare()
{
    int i;
    for(i=1;i<=j;i++)
    {
        g<<v[i]<<" ";
    }
    g<<"\n";
}
void bkt()
{
    k=1;
    init();
    while(k>0)
    {

        do
        {
            succesor();
            if(ev==1)
            {
                valid();
            }
        }
        while(sw==0 && ev==1);
        if(ev==1)
        {
            if(k==j)
            {
                afisare();
            }
            else
            {
                k++;
                init();
            }
        }
        else
        {
            k--;
        }
    }
}
int main()
{
    f>>n;
    for(j=1;j<=n;j++)
    {
        bkt();
    }
    return 0;
}