Cod sursa(job #3160566)

Utilizator apoputoaievladVlad Cristian Apoputoaie apoputoaievlad Data 24 octombrie 2023 17:12:30
Problema Combinari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <bits/stdc++.h>
using namespace std;

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

int main()
{
    /**
    Combinari:
    Citim n si k, 0 <= k <= n.
    Sa afisam submultimile de k elemente ale {1,2,...n}
    ex: n=4, k=3
    {1 2 3}
    {1 2 4}
    {1 3 4}
    {2 3 4}
    */
    int n, i, k;
    fin >> n >> k;
    vector<int> a;
    /// punem in a k de 1 si n-k de 0
    for (i = 1; i <= k; i++)
        a.push_back(1);
    for (i = 1; i <= n - k; i++)
        a.push_back(0);
    /// a = (1,1,1,1,0,0,0)
    do
    {
        for (i = 0; i < n; i++)
            if (a[i] == 1) fout << (i + 1) << " ";
        fout << "\n";
    }
    while(prev_permutation(a.begin(), a.end()));
    return 0;
}