Cod sursa(job #1328769)

Utilizator esti.varzaesti varza esti.varza Data 28 ianuarie 2015 19:00:48
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include <iostream>
#include <fstream>

using namespace std;
int st[20], n, k, p;
ifstream in("combinari.in");
ofstream out("combinari.out");

void init(int k)
{
    if(k==1)
        st[k]=0;
    else
        st[k]=st[k-1];
}
int succesor(int k )
{
    if(st[k]<n)
        {
            st[k]++;
            return 1;
        }
    else
        return 0;
}
int valid(int k )
{
    for(int i=1; i<k; i++)
        if(st[i]==st[k])
            return 0;
    return 1;
}
int solutie(int k )
{
    return(k==p+1);
}
void tipar(int k )
{
    for(int i=1; i<=p; i++)
        out<<st[i]<<" ";
    out<<"\n";
}
void back(int k)
{
    if(solutie(k))
        tipar(k);
    else
    {
        init(k);
        while(succesor(k))
            if(valid(k))
                back(k+1);
    }
}
int main()
{
    in>>n>>p;
    back(1);
    return 0;
}