Pagini recente » Cod sursa (job #762734) | Cod sursa (job #3137026) | Cod sursa (job #1354203) | Cod sursa (job #2747209) | Cod sursa (job #3131147)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
vector<int> loto;
vector<int> combination;
bool findCombination(int index, int sum, int targetSum, int k) {
if (sum == targetSum && k == 6) {
return true;
}
if (index >= loto.size() || sum > targetSum || k > 6) {
return false;
}
combination.push_back(loto[index]);
if (findCombination(index, sum + loto[index], targetSum, k + 1)) {
return true;
}
combination.pop_back();
if (findCombination(index + 1, sum, targetSum, k)) {
return true;
}
return false;
}
int main() {
ifstream inputFile("loto.in");
ofstream outputFile("loto.out");
int N, S;
inputFile >> N >> S;
loto.resize(N);
for (int i = 0; i < N; i++) {
inputFile >> loto[i];
}
combination.clear();
if (findCombination(0, 0, S, 0) && combination.size() == 6) {
for (int i = 0; i < combination.size(); i++) {
outputFile << combination[i] << " ";
}
}
else {
outputFile << -1;
}
inputFile.close();
outputFile.close();
return 0;
}