Cod sursa(job #2909950)

Utilizator Paul_DobrescuPaul Dobrescu Paul_Dobrescu Data 17 iunie 2022 10:48:22
Problema Combinari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include <iostream>
#include <fstream>
#include <cmath>
#include <queue>
using namespace std;

ifstream reader("combinari.in");
ofstream writer("combinari.out");

void afisare(int v[],int k)
{
    for(int i=1;i<=k;++i)
        writer<<v[i]<<" ";
    writer<<'\n';
}

bool valid(int v[],int n,int c)
{
    for(int i=1;i<c;++i)
        if(v[i]==v[c] or v[i]>v[c])
            return false;
    return true;
}

void back(int v[],int n,int k,int c)
{
    for(int i=1;i<=n;++i)
    {
        v[c]=i;
        if(valid(v,n,c))
            if(c==k)
                afisare(v,k);
            else back(v,n,k,c+1);
    }
}

int main()
{
    int n,k;
    reader>>n>>k;
    int v[n+1];
    back(v,n,k,1);
    return 0;
}