Cod sursa(job #1224310)

Utilizator DanielRusuDaniel Rusu DanielRusu Data 30 august 2014 15:14:39
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>
#include <algorithm>

using namespace std;

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

int n, k, sol[20], freq[20];

void bk(int pos);

int main() {
    fin >> n >> k;

    bk(1);

    fin.close();
    fout.close();

    return 0;
}

void bk(int pos) {
    if(pos == k + 1) {
        for(int i = 1;i <= k;i++) {
            fout << sol[i] << ' ';
        }

        fout << '\n';
    }
    else {
        for(int i = max(1,sol[pos - 1]);i <= n;i++) {
            if(freq[i] == 0) {
                freq[i] = 1;
                sol[pos] = i;
                bk(pos + 1);
                sol[pos] = 0;
                freq[i] = 0;
            }
        }
    }
}