Cod sursa(job #2175930)

Utilizator silvereaLKovacs Istvan silvereaL Data 16 martie 2018 19:59:51
Problema Combinari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.9 kb
#include <iostream>
#include <fstream>

using namespace std;

const int M = 10e3;

ifstream fcin("combinari.in");
ofstream fcout("combinari.out");
int n, k, x[M];
bool used[M];

bool novekvo()
{
    for (int i = 0; i < k - 1; ++i)
        if (x[i] > x[i + 1])
            return false;
    return true;
}

void kiir()
{
    for (int i = 0; i < k; ++i)
        cout << x[i] << ' ';
    cout << '\n';
}

///novekvoket alapbol generaltatni ugy kell, hogy a rekurzioban benne kell legyen az aktualis
///legnagyobb elemed
void komb(int p)
{
    if (p == k)
    {
        if (novekvo())
            kiir();
        return;
    }
    for (int i = 1; i <= n; ++i)
        if (!used[i])
        {
            x[p] = i;
            used[i] = true;
            komb(p + 1);
            used[i] = false;
        }
}

int main()
{
    cin >> n >> k;
    int p = 0;
    komb(p);
}