Pagini recente » Cod sursa (job #334670) | Cod sursa (job #1007047) | Cod sursa (job #2562831) | Cod sursa (job #231367) | Cod sursa (job #217765)
Cod sursa(job #217765)
#include<stdio.h>
int st[20],n,i,k,p;
void init(){
st[k]=0;
}
int succesor(){
if(st[k]<=n-k+p){
st[k]++;
return 1;
}
return 0;
}
int valid(){
if(k==1)
return 1;
if(st[k]>st[k-1])
return 1;
return 0;
}
int solutie(){
return(k==p);
}
void tipar(){
for(i=1;i<=p;++i)
printf("%d ",st[i]);
printf("\n");
}
void bkt(){
int as;
k=1;
init();
while(k>0){
do{}while((as=succesor()) && !valid());
if(as)
if(solutie()) tipar();
else{ k++; init(); }
else k--;
}
}
int main(){
freopen("date.in","r",stdin);
freopen("date.out","w",stdout);
scanf("%d%d",&n,&p);
bkt();
fclose(stdin);
fclose(stdout);
return 0;
}