Pagini recente » Cod sursa (job #201122) | Cod sursa (job #676574) | Cod sursa (job #2885228) | Cod sursa (job #147538) | Cod sursa (job #217767)
Cod sursa(job #217767)
#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("combinari.in","r",stdin);
freopen("combinari.out","w",stdout);
scanf("%d%d",&n,&p);
bkt();
fclose(stdin);
fclose(stdout);
return 0;
}