#includeint st[50],n,k,as,ev,a[100];void init (){ st[k]=0;}void succesor(){ as=0; if(st[k]<a[k]){ as=1;st[k]++;}}void valid(){ ev=1;}int solutie(){ return k==n;}void tipar(){int i; for(i=1;i<=k;i++) cout<<st[i]<<" ";cout<<endl;}void back(){ k=1; init (); while(k){ do {succesor(); if(as) valid();} while(as&&!ev); if(as) if(solutie()) tipar (); else {++k; init ();} else --k;}}int main(){ int i; cout<<"n="; cin>>n; for(i=1;i<=n;i++) cin>>a[i]; back(); return 0 ;}
#include int st[100],k,as,n,ev,p; void init(){st[k]=0;} void succesor(){as=0; if(st[k]1) if(st[k]<st[k-1])ev=0;} int solutie(){ return(k==p);} void tipar(){int i; for(i=1;i<=k;i++) cout<<st[i]<<" "; cout<<endl;} void back(){k=1; init(); while (k){do{succesor(); if(as)valid();} while(as&&!ev); if(as)if(solutie())tipar(); else{++k;init();} else --k;}} int main(){ cout<<"n=";cin>>n; cout<<"p=";cin>>p; back(); return 0;}
#include
ReplyDeleteint st[50],n,k,as,ev,a[100];
void init (){
st[k]=0;}
void succesor(){
as=0;
if(st[k]<a[k]){
as=1;st[k]++;}}
void valid(){ ev=1;}
int solutie(){ return k==n;}
void tipar(){int i;
for(i=1;i<=k;i++)
cout<<st[i]<<" ";cout<<endl;
}
void back(){
k=1; init ();
while(k){
do {succesor();
if(as) valid();}
while(as&&!ev);
if(as) if(solutie())
tipar ();
else {++k;
init ();}
else --k;}}
int main(){
int i;
cout<<"n="; cin>>n;
for(i=1;i<=n;i++)
cin>>a[i];
back();
return 0 ;}
#include
ReplyDeleteint st[100],k,as,n,ev,p;
void init(){st[k]=0;}
void succesor(){as=0;
if(st[k]1)
if(st[k]<st[k-1])ev=0;}
int solutie(){
return(k==p);}
void tipar(){int i;
for(i=1;i<=k;i++)
cout<<st[i]<<" ";
cout<<endl;}
void back(){k=1;
init();
while (k){do{succesor();
if(as)valid();}
while(as&&!ev);
if(as)if(solutie())tipar();
else{++k;init();}
else --k;}}
int main(){
cout<<"n=";cin>>n;
cout<<"p=";cin>>p;
back();
return 0;}