Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- const int N=50;
- int i,st[N],k,C[100],n,as,ev;
- void init(){st[k]=0;}
- void succesor(){as=0;
- if(st[k]<C[k])
- {
- as=1;
- st[k]++;
- }
- }
- void valid(){ev=1;}
- void tipar(){int i;
- for(i=1;i<=n;++i) cout<<st[i];
- cout<<endl;}
- int solutie(){return k==n;}
- void backk(){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<<"Dati n:";
- cin>>n;
- cout<<"Dati elementele:";
- for(i=1;i<=n;++i) cin>>C[i];
- backk();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement