Cod sursa(job #3205543)

Utilizator tudorhorotanHorotan Tudor tudorhorotan Data 19 februarie 2024 22:30:37
Problema Combinari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.84 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
const int MAX_LIMIT = 19;
int n, k, fol[MAX_LIMIT], sir[MAX_LIMIT];

bool verificare(int x, int fol[19]) {
    for (int i = x + 1; i <= n; ++i) {
        if (fol[i]) {
            return 0;
        }
    }
    return 1;
}

void gen(int lg, int sir[MAX_LIMIT]) {
    if (lg == k + 1) {
        for (int j = 1; j <= k; ++j) {
            fout << sir[j] << ' ';
        }
        fout << "\n";
        return;
    }
    for (int i = 1; i <= n; ++i) {
        if(fol[i] == 0 && verificare(i ,fol)) {
            sir[lg] = i;
            fol[i] = 1;
            gen(lg + 1, sir);
            fol[i] = 0;
        }
    }
}

int main() {
    fin >> n >> k;
    int lg = 1;
    gen(lg, sir);
    return 0;
}