Cod sursa(job #2156722)

Utilizator SaphyrosMarcus Sergiu David Saphyros Data 8 martie 2018 22:45:53
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include <fstream>

using namespace std;

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

void combinationUtil(int arr[], int data[], int start, int end,
                     int index, int k);

void printCombination(int arr[], int n, int k)
{
    int data[k];
    combinationUtil(arr, data, 0, n-1, 0 , k);
}

void combinationUtil(int arr[], int data[], int start, int end,
                     int index, int k)
{
    if (index == k)
    {
        for (int j=0; j<k; j++)
            fout << data[j] << " ";
        fout << "\n";
        return;
    }
    for(int i=start; i<=end && end-i+1>=k-index; i++)
    {
        data[index] = arr[i];
        combinationUtil(arr, data, i+1, end, index+1, k);
    }
}
int main()
{
    int n, k;
    fin >> n >> k;
    int arr[n+1];
    for (int i=0; i<=n; i++) arr[i] = i+1;
    printCombination(arr, n, k);
    return 0;
}