Cod sursa(job #3233216)

Utilizator MirceaDonciuLicentaLicenta Mircea Donciu MirceaDonciuLicenta Data 2 iunie 2024 19:56:22
Problema Combinari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.17 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

void generate_combinations(int N, int K, int start, vector<int>& current_combination, vector<vector<int>>& all_combinations) {
    if (current_combination.size() == K) {
        all_combinations.push_back(current_combination);
        return;
    }
    for (int i = start; i <= N; ++i) {
        current_combination.push_back(i);
        generate_combinations(N, K, i + 1, current_combination, all_combinations);
        current_combination.pop_back();
    }
}

int main() {
    ifstream infile("combinari.in");
    ofstream outfile("combinari.out");

    if (!infile || !outfile) {
        cerr << "Error opening file" << endl;
        return 1;
    }

    int N, K;
    infile >> N >> K;

    vector<vector<int>> all_combinations;
    vector<int> current_combination;
    generate_combinations(N, K, 1, current_combination, all_combinations);

    for (const auto& combination : all_combinations) {
        for (int num : combination) {
            outfile << num << " ";
        }
        outfile << endl;
    }

    infile.close();
    outfile.close();

    return 0;
}