Cod sursa(job #2842303)

Utilizator LuciBBadea Lucian LuciB Data 31 ianuarie 2022 15:40:43
Problema Combinari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <bits/stdc++.h>
using namespace std;
 
FILE *fin, *fout;
 
const int NMAX = 18;
 
int n, k;
 
int v[NMAX], f[NMAX];
 
void bkt(int poz) {
    if(poz == k) {
        for(int i = 0; i < k; i++)
            fprintf(fout, "%d ", v[i]);
        fprintf(fout, "\n");
    } else {
        int i;
        if(poz == 0) i = 1;
        else i = v[poz - 1] + 1;
        for(; i <= n; i++) {
            if(f[i] == 0) {
                v[poz] = i;
                f[i] = 1;
                bkt(poz + 1);
                f[i] = 0;
            }
        }
    }
}
 
int main() {
    fin = fopen("combinari.in", "r");
    fout = fopen("combinari.out", "w");
    fscanf(fin, "%d%d", &n, &k);
    bkt(0);
 
    fclose(fin);
    fclose(fout);
 
    return 0;
}