Cod sursa(job #1022551)

Utilizator alex-florinHarbuzariu Alexandru Florin alex-florin Data 5 noiembrie 2013 18:29:39
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>
using namespace std;
ifstream f("combinari.in");
ofstream g("combinari.out");
int n, k, tab[20000];
int solutie(int p)
{ return p==k+1; }
void afis()
{
    for(int i=1; i<=k; i++)
        g<<tab[i]<<" ";
    g<<'\n';
}
void init(int p)
{
    if(p>1) tab[p]=tab[p-1];
    else tab[p]=0;
}
int succesor(int p)
{
    if(tab[p]<n-k+p)
    {
        tab[p]++;
        return 1;
    }
    return 0;
}
void bck(int p)
{
    if(solutie(p)) afis();
    else
    {
        init(p);
        while(succesor(p))
            bck(p+1);
    }
}
int main()
{
    f>>n>>k;
    bck(1);
    f.close(); g.close();
    return 0;
}