Cod sursa(job #926126)

Utilizator cernat.catallinFMI Cernat Catalin Stefan cernat.catallin Data 24 martie 2013 23:02:18
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.87 kb
#include <stdio.h>
using namespace std;

#define Nmax 20

int n, k, p, st[Nmax];

void init(){
    st[k] = st[k-1];
}

int am_succesor(){
    if(st[k] < n){
        ++st[k];
        return 1;
    }
    return 0;
}

int e_valid(){
    return 1;
}

int solutie(){
    return k == p;
}

void afis(){
    for(int i = 1; i <= p; ++i)
        printf("%i ", st[i]);
    printf("\n");
}

void back(){
    int as; k = 1;
    while(k){
        while((as = am_succesor())&&(!e_valid()));
        if(as){
            if(solutie()) afis();
            else{
                ++k;
                init();
            }
        }
        else --k;
    }
}

int main(){
    freopen("combinari.in", "r", stdin);
    freopen("combinari.out", "w", stdout);

    scanf("%i %i", &n, &p);
    fclose(stdin);
    back();
    fclose(stdout);

    return 0;
}