Cod sursa(job #2635233)

Utilizator irimia_alexIrimia Alex irimia_alex Data 13 iulie 2020 18:44:37
Problema Combinari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <stdio.h>
#define NMAX 18

using namespace std;

FILE* fin, * fout;
int n, k;
int sol[NMAX + 1], viz[NMAX + 1] = { 0 };

void afis() {
    for (int i = 1;i <= k;++i)
        fprintf(fout,"%i ", sol[i]);
    fprintf(fout,"\n");
}

void combinari(int count = 1) {
    if (count == k + 1) { afis();return; }
    int x = (count > 1) ? sol[count - 1] + 1 : 1;
    for (int i = x;i <= n;++i)
        if (!viz[i]) {
            sol[count] = i;
            combinari(count + 1);
        }
}

int main()
{
    fin = fopen("combinari.in", "r");
    fout = fopen("combinari.out", "w");

    fscanf(fin, "%i %i", &n, &k);
    combinari();

  
    return 0;
}