Cod sursa(job #3354316)

Utilizator Razvan25555Razvan Razvan25555 Data 17 mai 2026 14:47:02
Problema Combinari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.97 kb
// Ionascu George-Razvan, 324CA

#include <iostream>
#include <fstream>
#include <vector>
using namespace std;

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

bool find(int nr, vector<int> a) {
    for (int i = 0; i < (int) a.size(); i++) {
        if (nr == a[i]) {
            return true;
        }
    }
    return false;
}

void backtracking(int last_digit, int length, int n, int k, vector<int> a) {
    if (length == k) {
        for (int i = 0; i < k; i++) {
            fout << a[i] << " ";
        }
        fout << "\n";
        return;
    }

    for (int i = 1; i <= n; i++) {
        bool is_used = find(i, a);

        if (is_used == false && last_digit < i) {
            a[length] = i;
            backtracking(i, length + 1, n, k, a);
        }
    }
}

int main() {
    int n, k;
    fin >> n >> k;

    vector<int> a(n, 0);

    backtracking(0, 0, n, k, a);

    fin.close();
    fout.close();

    return 0;
}