Pagini recente » Cod sursa (job #2673380) | Cod sursa (job #2612246) | Cod sursa (job #1467216) | Cod sursa (job #2316003) | Cod sursa (job #2209631)
#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;
}