Cod sursa(job #3303570)

Utilizator BusinessBirdRuse Andrei Cristian BusinessBird Data 16 iulie 2025 13:35:50
Problema Combinari Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.87 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;

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

    int N, K;
    fin >> N >> K;

    // Vector de 0 și 1: K elemente 1 (alese), restul 0
    vector<int> select(N, 0);
    for (int i = 0; i < K; i++) {
        select[i] = 1;
    }
    sort(select.begin(), select.end()); // asigurăm ordinea lex

    do {
        // Pentru fiecare permutare, afișăm pozițiile cu 1 (elementele alese)
        bool first = true;
        for (int i = 0; i < N; i++) {
            if (select[i] == 1) {
                if (!first) fout << ' ';
                fout << (i + 1);
                first = false;
            }
        }
        fout << '\n';
    } while (next_permutation(select.begin(), select.end()));

    fin.close();
    fout.close();
    return 0;
}