Cod sursa(job #3131878)

Utilizator bobic.teona20Bobic Teona-Christiana bobic.teona20 Data 21 mai 2023 20:36:44
Problema Loto Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.15 kb
#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;
}