Cod sursa(job #648545)

Utilizator marius135Dumitran Adrian Marius marius135 Data 13 decembrie 2011 17:55:45
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<stdio.h>

int sel[22];
int sol[22];
int N, M;
void back( int N, int level) {
    if( level == 0) {
        for( int j = M; j >= 1; --j)
            printf("%d ", sol[j]);
        printf("\n");
        return;
    }
    for( int i = 1; i <= N; ++i) { 
        if( sel[i] == 1) 
            continue;
        if( level != M && i < sol[level+1]) i = sol[level+1]+1;
        if(  i > N) break;
        sol[level] = i;
        sel[ i] = 1;
        back( N, level-1);
        sel[ i] = 0;
    }
}


int main() {
    freopen("combinari.in","r",stdin);
    freopen("combinari.out","w",stdout);
    
    scanf("%d %d", &N, &M);
    back(N,M);

    return 0;
}