Cod sursa(job #2931961)

Utilizator coso2312Cosmin Bucur coso2312 Data 1 noiembrie 2022 12:31:28
Problema Combinari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.88 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream fin("combinari.in");
ofstream fout("combinari.out");

int n, subm[19], k, v[19], ok = 0;

void gen(int element, int lgSubm) {
  if (element == n + 1) {
    ok = 0;
    for (int i = 0; i < k - 1; ++i) {
        if (subm[i] >= subm[i + 1]) {
            return;
        }
    }
    for (int i = 0; i < k; ++i) {
        if (v[i] == subm[i]) {
            ++ok;
        }
    }
    //cout << "ok = " << ok << "\n";
    if (ok == k) {
        return;
    }
    for (int i = 0; i < k; ++i) {
        v[i] = subm[i];
        fout << subm[i] <<' ';
    }
    for (int i = 0; i < k; ++i) {
        v[i] = subm[i];
    }
    fout << "\n";
    return;
  }
    subm[lgSubm] = element;
    gen(element + 1, lgSubm + 1);
    gen(element + 1, lgSubm);
}

int main() {
    fin >> n >> k;
    gen(1, 0);
}