Cod sursa(job #2762992)

Utilizator Teodor_AxinteAxinte Teodor-Ionut Teodor_Axinte Data 10 iulie 2021 19:45:43
Problema Combinari Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>

using namespace std;

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

void bkt(int);
int n,k,x[8],used[8];
int verifica(int);

int main()
{
    fin>>n>>k;
    //fout<<n<<" "<<k;
    bkt(1);
    return 0;
}

int verifica(int k)
{
    for(int i=1;i<k;i++)
        if(x[i]>x[i+1])
            return 0;
        return 1;
}

void bkt(int poz)
{
    if(poz==k+1 && verifica(k))
    {
        for(int i=1;i<poz;i++)
            fout<<x[i]<<" ";
        fout<<'\n';
        return;
    }

    for(int i=1;i<=n;i++)
        if(!used[i])
        {
            used[i]=1;
            x[poz]=i;
           // if(x[poz]<x[poz-1] && poz>0)
             //   continue;
            bkt(poz+1);
            used[i]=0;
        }
}