Cod sursa(job #3355181)

Utilizator dariadrdariaa dariadr Data 21 mai 2026 23:21:24
Problema Combinari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>
#include <vector>

using namespace std;

int N, K;
vector<int> sol;

ifstream fin("combinari.in");
ofstream fout("combinari.out");

// k reprezinta pozitia curenta din vectorul solutie (de la 0 la K-1)
void backtracking(int k) {
    if (k == K) {
        for (int i = 0; i < K; ++i) {
            fout << sol[i] << " ";
        }
        fout << "\n";
        return;
    }

    int start;
    if (k == 0) {
        start = 1;
    } else {
        start = sol[k - 1] + 1;
    }

    for (int i = start; i <= N; ++i) {
        sol[k] = i;
        backtracking(k + 1); // Trecem la urmatoarea pozitie
    }
}

int main() {
    fin >> N >> K;

    sol.resize(K);

    backtracking(0);

    return 0;
}