Cod sursa(job #2477995)

Utilizator alexnigaNiga Alexandru alexniga Data 21 octombrie 2019 14:25:52
Problema Combinari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.02 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

ifstream f("combinari.in");
ofstream g("combinari.out");

void back_permutari(int k, int n, int kk, vector <int> viz, vector <int> v)
{
    if (k == kk + 1)
    {
        for (int i = 1; i <= kk; i++)
            g << v[i] << " ";
        g << "\n";
        return;
    }
    for (int i = 1; i <= n; i++)
    {
        if (viz[i] == 0)
        {
            if (v[k - 1] < i && k > 1)
            {
                viz[i] = 1;
                v[k] = i;
                back_permutari(k + 1, n, kk, viz, v);
                viz[i] = 0;
            }
            if (k == 1)
            {
                viz[i] = 1;
                v[k] = i;
                back_permutari(k + 1, n, kk, viz, v);
                viz[i] = 0;
            }
        }
    }

}

int main()
{
    int n, k;

    f >> n >> k;

    vector <int> viz(n+1);
    vector <int> v(n+1);

    back_permutari(1, n, k, viz, v);

    return 0;
}