Cod sursa(job #1130946)

Utilizator radu_cebotariRadu Cebotari radu_cebotari Data 28 februarie 2014 16:44:47
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include<cstdio>
using namespace std;

int a,n,v[19];
inline void wrt()
{
    int i;
    for (i = 1; i<=n ; i++)
        printf("%d ",v[i]);
    printf("\n");
}

int succesor(int k)
{
    if (v[k]<a) {v[k]++;return 1;}
    return 0;
}

int valid(int k)
{
    int i;
    for(i=1 ; i<=k-1 ; i++)
       if (v[i]>=v[k]) return 0;
    return 1;
}

void back(int k)
{

    if(k==n+1) wrt();
    else
    {

        v[k] = 0;
        while(succesor(k))
        {
            if(valid(k)) back(k+1);
        }
    }
}

int main()
{
    freopen("combinari.in","r",stdin);
    freopen("combinari.out","w",stdout);
    scanf("%d%d",&a,&n);
    v[0]=0;
    back(1);
    return 0;
}