Cod sursa(job #2209631)

Utilizator skoda888Alexandru Robert skoda888 Data 3 iunie 2018 23:21:09
Problema Loto Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.1 kb

#include <iostream>
#include <fstream>

int permutare[7];
bool continua = true;
long long suma_de_obtinut;
int N;
int numere[101];

void afisare()
{
    for(int i = 1; i <= 6; ++i){
        out << permutare[i] << " ";
    }
}

bool solutie()
{
    int suma = 0;
    for(int i = 1; i <= 6; ++i){
        suma += permutare[i];
    }
    if(suma == suma_de_obtinut){
        return true;
    }
    return false;
}

bool permutari_backtracking(int k)
{
    for(int i = 1; i <= N && continua == true; ++i){
        permutare[k] = numere[i];
        if(k == 6){
            if(solutie()){
                afisare();
                continua = false;
            }
        }
        else{
            permutari_backtracking(k + 1);
        }
    }
    return false;
}

int main()
{
    std::ifstream in("loto.in");
    std::ofstream out("loto.out");
    in >> N;
    in >> suma_de_obtinut;


    for(int i = 1; i <= N; ++i){
        in >> numere[i];
    }
    permutari_backtracking(1) == false;
    if(continua == true){
        out << -1;
    }

    return 0;
}