Cod sursa(job #2704280)

Utilizator vnedelcuVictor Andrei Nedelcu vnedelcu Data 10 februarie 2021 10:06:46
Problema Combinari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <stdio.h>

const int MAX_SIZE = 19;

FILE * f;
int n, k;
int comb[MAX_SIZE];

void write_combinations(int crnt_pos) {
    if (crnt_pos == k + 1) {
        for (int i = 1; i <= k; i++) {
            fprintf(f, "%d ", comb[i]);
        }
        fprintf(f, "\n");
        return;
    }

    for (int value = comb[crnt_pos - 1] + 1; value <= n; value++) {
        if (n - value < k - crnt_pos) {
            break;
        }
        comb[crnt_pos] = value;
        write_combinations(crnt_pos + 1);
    }
}

int main() {
    f = fopen("combinari.in", "r");
    fscanf(f, "%d%d", &n, &k);
    fclose(f);

    f = fopen("combinari.out", "w");
    write_combinations(1);
    fclose(f);

    return 0;
}