Cod sursa(job #1650741)

Utilizator BuggyxSosdian Bogdan Buggyx Data 11 martie 2016 20:14:44
Problema Combinari Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream>

using namespace std;

ifstream f("combinari.in");
ofstream g("combinari.out");

int n,k,x[100],stiva[100];

void backtrack(int k);
void program();
void afisare();

int main()
{
 f>>n>>k;
 backtrack(1);

}


void backtrack(int k)
{
 int i;

 if(k>n)
    program();
 else
    {
     for(i=1;i<=n;i++)
        {
            if(stiva[i]==0)
            {
                stiva[i]=1;
                x[k]=i;
                backtrack(k+1);
                stiva[i]=0;
            }
        }
    }
}

void program()
{ int ok=1;
    for(int i=1;i<k;i++)
        {
            if(x[i]>x[i+1])
                ok=0;
        }
     if(ok)
         afisare();

}


void afisare()
{
 for(int i=1;i<=k;i++)
    g<<x[i]<<" ";
    g<<"\n";

}