Cod sursa(job #2227478)

Utilizator pinteastefanPintea Teodor Stefan pinteastefan Data 31 iulie 2018 21:23:17
Problema Combinari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.02 kb
#include <fstream>

using namespace std;

ifstream inputfile("combinari.in");
ofstream outputfile("combinari.out");

int number, values[101], solution[101], numberOfComponents, currentNumberOfComponents;
// combinari de number luate cate numberOfComponents

// voi utiliza o functie de afisare a rezultatului
void print()
{
    for (int i; i<= numberOfComponents; i++)
        outputfile << values[solution[i]] << " ";
    outputfile << "\n";
}

// voi avea o functie numita Back, care imi va genera combinarile de n luate cate k folosind metoda backtracking
void back (int currentNumberOfComponents)
{
    if ( currentNumberOfComponents > numberOfComponents)
        print();
    else
        for (int i = solution[currentNumberOfComponents - 1] + 1; i <= number; i++)
        {
            solution[currentNumberOfComponents] = i;
            back(currentNumberOfComponents + 1);
        }
}


int main() {

    inputfile >> number >> numberOfComponents;
    for (int i = 1; i <= number; i++)
        values[i] = i;

    back(1);

    return 0;
}