Cod sursa(job #2176504)

Utilizator gfx96Vasilache Andrei gfx96 Data 17 martie 2018 16:13:32
Problema Combinari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#include <iostream>
#include <fstream>

using namespace std;

void citire(int &N,int &K)
{
    ifstream f("combinari.in");
    f>>N;
    f>>K;
}

bool eSolutie(int x[],int m,int p)
{
    return m-1==p;
}

bool eValid(int x[],int m)
{
    for(int i=1;i<=m-1;i++)
    {
        if(x[i]==x[m])
        {
            return false;
        }
    }
    return true;
}

void afisare(int x[],int m)
{
    ofstream out("combinari.out");

    for(int i=1;i<=m-1;i++)
    {
        out<<x[i]<<" ";
    }
    out<<"\n";
}

void backtracking(int x[],int m,int N,int K)
{
    if(eSolutie(x,m,K))
    {
        afisare(x,m);
    }
    else
    {
        for(int i=x[m-1]+1;i<=N;i++)
        {
            x[K]=i;
            backtracking(x,m+1,N,K);
        }
    }
}

int main()
{

    int N,K;
    citire(N,K);
    int x[100];
    x[0]=0;
    backtracking(x,1,N,K);

   return 0;

}