Cod sursa(job #2436112)

Utilizator danhHarangus Dan danh Data 4 iulie 2019 16:27:55
Problema Combinari Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <iostream>
#include <fstream>
using namespace std;

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

int rez[15];
int ap[15];

int n,k;

void afisare()
{
    for(int i = 1; i<=k; i++)
    {
        fout<<rez[i]<<' ';
    }
    fout<<endl;
}

void backtr(int x)
{
    for(int i = rez[x-1] + 1; i <= n; i++)
    {
        if(ap[i])
        {
            rez[x] = i;
            ap[i]--;
            if(x == k)
            {
                afisare();
            }
            else
            {
                backtr(x+1);
            }
            ap[i]++;
        }
    }
}

int main()
{
    fin>>n>>k;

    for(int i = 1; i <= n; i++)
    {
        ap[i]++;
    }
    backtr(1);

    fin.close();
    fout.close();
    return 0;
}