Cod sursa(job #1504479)

Utilizator FayedStratulat Alexandru Fayed Data 17 octombrie 2015 19:44:08
Problema Combinari Scor 70
Compilator c Status done
Runda Arhiva educationala Marime 0.74 kb
#include <stdio.h>
#include <stdlib.h>
#define KMAX 18
#define true  1
#define false 0

typedef short bool;

int  N;
int  k;
int  Sol[KMAX];
bool used[KMAX];

void printResult() {
    for(int i = 1; i <= k; ++i)
        printf("%d ", Sol[i]);
    
    printf("\n");
}

void back(int top) {
    if(top > k)
        printResult();
    else {
        for(int i = 1; i <= N; ++i)
            if(!used[i] && i > Sol[top - 1]) {
                
                Sol[top] = i;
                used[i]  = true;
                back(top + 1);
                used[i]  = false;
            }
    }
}

int main(void) {
    
    freopen("combinari.in","r", stdin);
    freopen("combinari.out","w", stdout);
    
    scanf("%d %d", &N, &k);
    back(1);
    
    return 0;
}