Cod sursa(job #2532234)

Utilizator CriviCriveanu Bogdan Crivi Data 27 ianuarie 2020 16:31:02
Problema Combinari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.88 kb
#include <bits/stdc++.h>

using namespace std;

ifstream in;
ofstream out;

void permute(vector<int> a, int l, int r, int k)
{
    if (l == k+1)
    {
        for (int i = 1; i < l; i++)
            out << a[i] << " ";
        out << "\n";
    }
    else
    {
        for (int i = l; i <= r; i++)
        {
            bool ok = 1;
            
            for (int j = 1; j < i; j++)
                if (a[j] > a[i])
                    ok = 0;
            if (ok)
            {
                swap(a[l], a[i]);
                permute(a, l + 1, r, k);
                //swap(a[l], a[i]);
            }
            
        }
    }
}

int i, n, k;
vector<int> v;

int main()
{
    in.open("combinari.in");
    out.open("combinari.out");

    in >> n >> k;

    v.push_back(0);
    for (i = 1; i <= n; i++)
        v.push_back(i);

    permute(v, 1, n, k);

    in.close();
    out.close();
}