Vous êtes sur la page 1sur 2

#include<iostream.

h>
#include<conio.h>
FILE*f=fopen("date.in","r");
FILE*g=fopen("date.out","w");
int st[20], n, k,p;
void init(int k)
{
st[k]=-1;
}
int succesor(int k)
{
if(st[k]<9)
{
st[k]=st[k]+1;
return 1;
}
else
return 0;
}
int valid(int k)
{if(k==1 && st[k]==0)
return 0;
int nr1=0;
for(int i=1;i<=k;i++)
if(st[i]==1)
nr1++;
if(nr1>p)
return 0;
if(k==n && nr1!=p)
return 0;
return 1;
}
int solutie(int k)
{
if(k==n)
return 1;
return 0;
}
void tipar(int k)
{
for(int i=1;i<=k;i++)
fprintf(g,"%d ",st[i]);
fprintf(g,"\n");
}
void back()
{
k=1;init(k);
while(k>0)
{
while(succesor(k))

{
if(valid(k))
if(solutie(k))
tipar(k);
else
{
k++;
init(k);
}
}
k--;
}
}
int main()
{
fscanf(f,"%d ",&n);
fscanf(f,"%d ",&p);
back();
return(1);
}

Vous aimerez peut-être aussi