Cod sursa(job #2043388)

Utilizator eduard2000Cosma Eduard eduard2000 Data 19 octombrie 2017 22:21:05
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
int n,x;
int v[20];
void citire()
{
    fin>>n>>x;
}

void afisare(int k)
{
    for(int i=1;i<=k;i++)
        fout<<v[i]<<" ";

    fout<<'\n';
}

bool valid(int k)
{
    for(int i=1;i<k;i++)
        if(v[i]==v[k] || v[i]>v[i+1])
            return 0;

            return 1;
}

bool solutie(int k)
{
    if(k==x)
        return 1;
    else
        return 0;
}

void backtrack(int k)
{
    for(int i=1;i<=n;i++)
    {
        v[k]=i;
        if(valid(k)){
            if(solutie(k))
                afisare(k);
            else
                backtrack(k+1);

        }
    }
}
    int main()
    {
        citire();
        backtrack(1);
    }