Pagini recente » Cod sursa (job #3001284) | Cod sursa (job #1947320) | Cod sursa (job #2069458) | Cod sursa (job #2595352) | Cod sursa (job #3131878)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
void find_winning_numbers(int target, const vector<int>& lottery_numbers, vector<int>& chosen_numbers, ofstream& output) {
if (target == 0 && chosen_numbers.size() == 6) {
for (int num : chosen_numbers) {
output << num << " ";
}
output << endl;
return;
}
if (target < 0 || chosen_numbers.size() == 6) {
return;
}
for (int num : lottery_numbers) {
chosen_numbers.push_back(num);
find_winning_numbers(target - num, lottery_numbers, chosen_numbers, output);
chosen_numbers.pop_back();
}
}
int main() {
ifstream input("loto.in");
ofstream output("loto.out");
int N, S;
input >> N >> S;
vector<int> lottery_numbers(N);
for (int i = 0; i < N; i++) {
input >> lottery_numbers[i];
}
vector<int> chosen_numbers;
find_winning_numbers(S, lottery_numbers, chosen_numbers, output);
if (chosen_numbers.size() != 6) {
output << -1 << endl;
}
input.close();
output.close();
return 0;
}