Pagini recente » Cod sursa (job #1457687) | Cod sursa (job #2862490) | Cod sursa (job #1031542) | Cod sursa (job #364237) | Cod sursa (job #3131158)
#include <iostream>
#include <fstream>
#include <vector>
void findCombination(std::vector<int>& loto, std::vector<int>& chosen, int sum, std::vector<int>& result) {
if (sum == 0 && chosen.size() == 6) {
result = chosen;
return;
}
if (sum < 0 || chosen.size() == 6) {
return;
}
for (int num : loto) {
chosen.push_back(num);
findCombination(loto, chosen, sum - num, result);
chosen.pop_back();
}
}
int main() {
std::ifstream f("loto.in");
std::ofstream g("loto.out");
int N, S;
f >> N >> S;
std::vector<int> loto(N);
for (int i = 0; i < N; ++i) {
f >> loto[i];
}
std::vector<int> result;
std::vector<int> chosen;
findCombination(loto, chosen, S, result);
if (result.size() == 6) {
for (int num : result) {
g << num << ' ';
}
}
else {
g << -1;
}
f.close();
g.close();
return 0;
}