Cod sursa(job #2030142)

Utilizator osiaccrCristian Osiac osiaccr Data 1 octombrie 2017 10:23:09
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>

using namespace std;

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

int n, k, v[20];

bool check (int niv) {
    for (int i = 1; i <= niv - 1; i++)
        if (v[i] == v[niv] || v[i] > v[niv])
            return 0;
    return 1;
}

void backtrack (int niv) {
    if (niv > k) {
        for (int i = 1; i <= k; i++)
            fout << v[i] << " ";
        fout << "\n";
        return;
    }
    for (int i = 1; i <= n; i++) {
        v[niv] = i;
        if (check (niv))
            backtrack (niv + 1);
    }
}

int main () {
    fin >> n >> k;
    backtrack (1);
    return 0;
}