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