Cod sursa(job #1839866)

Utilizator mihai.alphamihai craciun mihai.alpha Data 3 ianuarie 2017 15:49:43
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <cstdio>
#include <bitset>
#define Q 20
FILE *fi, *fo;
int n, k;
std::bitset <Q> fol;

void comb(int poz, int last)  {
    if(poz == k)  {
        for(int i = 1;i <= n;i++)
            if(fol[i])
                fprintf(fo, "%d ", i);
        fprintf(fo, "\n");
    }
    else  {
        for(int i = last;i <= n;i++)
            if(!fol[i])  {
                fol[i] = 1;
                comb(poz + 1, i + 1);
                fol[i] = 0;
            }
    }
}

int main()  {
    fi = fopen("combinari.in", "r");
    fo = fopen("combinari.out", "w");
    fscanf(fi, "%d%d", &n, &k);
    comb(0, 1);
    fclose(fi);
    fclose(fo);
    return 0;
}