Cod sursa(job #1010910)

Utilizator MarghescuGabriel Marghescu Marghescu Data 15 octombrie 2013 21:20:29
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.93 kb
#include<fstream>
using namespace std;
ifstream f("combinari.in");
ofstream g("combinari.out");
int n,m,k,x[20];
void init()
{
    x[k]=0;
}
 
int succesor()
{
    if(x[k]<n)
    {
        x[k]++;
        return 1;
    }
    else
        return 0;
}
 
int valid()
{
    int ev=1;
    if(k>1)
        if(!(x[k]>x[k-1]))
            ev=0;
    return ev;
     
}
 
int solutie()
{
    if(k==m)
        return 1;
    else
        return 0;
}
void tipar()
{
    for(int i=1;i<=k;i++)
    {
        g<<x[i]<<" ";
    }
    g<<"\n";
}
 
void back()
{
    int as;
    k=1;
    init();
    while(k>0)
    {
        do{}while((as=succesor())&& !valid());
        if(as)
            if(solutie())   tipar();
        else
        {   k++;
            init();
        }
        else
            k--;
    }
}
int main()
{
    f>>n>>m;
    back();
    f.close();
    g.close();
    return 0;
}