Advertisement
Guest User

Untitled

a guest
Apr 27th, 2018
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.65 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. const int N=50;
  4. int st[N],k,n,as,ev,p;
  5.  
  6. void init(){if(st[k]==1)st[k]=0;
  7. else st[k]=st[k-1];}
  8. void succesor(){as=0;
  9. if(st[k]<n)
  10. {
  11. as=1;
  12. st[k]++;
  13. }
  14.  
  15. }
  16. void valid(){int i;ev=1;
  17. for(i=1;i<k;++i)
  18. if(st[k]==st[i]) ev=0;}
  19.  
  20. void tipar(){int i;
  21. for(i=1;i<=n;++i) cout<<st[i];
  22. cout<<endl;}
  23.  
  24. int solutie(){return k==p;}
  25.  
  26. void backk(){k=1;
  27. init();
  28. while(k) { do{
  29. succesor();
  30. if(as) valid();
  31. } while(as&&!ev);
  32. if(as) if(solutie()) tipar();
  33. else{++k;init();}
  34. else --k;}}
  35.  
  36.  
  37. int main(){
  38. cout<<"Dati n:";
  39. cin>>n;
  40. cout<<"Dati p:";
  41. cin>>p;
  42. backk();
  43. return 0;
  44.  
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement