Cod sursa(job #1490577)

Utilizator gabime11Gabriel gabime11 Data 23 septembrie 2015 20:12:16
Problema Combinari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include<iostream>
#include<math.h>
using namespace std;
int st[20],n,k,p;

void init()
{ if(k>1) st[k]=st[k-1];
else st[k]=0;
}

int succesor()
{if (st[k]<n-p+k)
{st[k]++;
return 1;
}
else return 0;}

int valid()
{
return 1;}

int sol()
{return (k==p);}

void tipar()
{for(int i=1;i<=p;i++) cout<<st[i];
cout<<endl;
}
void bkt()
{int as;k=1;
init();
while(k>0)
{
do {} while ((as=succesor()) && !valid());
if (as)
if (sol()) tipar();
else {k++;init();}
else k--;
}
}

int main()
{
    ifstream fin("combinari.in");
    ofstream fout("combinari.out");
    fin>>n;
    fin>>p;
fout<<bkt();
}