Advertisement
Guest User

Untitled

a guest
Mar 27th, 2015
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.64 KB | None | 0 0
  1.  
  2.  
  3. #include <iostream>
  4. using namespace std;
  5.  
  6. int x[100],a[100],n,k,i,as,ev;
  7.  
  8. void init(int k)
  9. {
  10. x[k]=0;
  11. }
  12.  
  13. int succesor(int k)
  14. {
  15. if(x[k]<a[k]){x[k]++;return 1;}
  16. else return 0;
  17. }
  18.  
  19. int valid(int k)
  20. {
  21. return 1;
  22. }
  23.  
  24. int solutie(int k)
  25. {
  26. return(k==n);
  27. }
  28.  
  29. void tipar(int k)
  30. {
  31. for(i=1;i<=k;i++)cout<<x[i]<<" ";
  32. cout<<endl;
  33. }
  34.  
  35. void bt()
  36. {
  37. k=1;init(k);
  38. while(k!=0)
  39. {
  40. as=1;
  41. ev=0;
  42. while(as==1&&ev==0)
  43. {
  44. as=succesor(k);
  45. if(as==1)ev=valid(k);
  46. }
  47. if(ev==1)if(solutie(k)==1)tipar(k);
  48. else{k++;init(k);}
  49. else k--;
  50. }
  51. }
  52.  
  53. int main()
  54. {
  55. cin>>n;
  56. for(i=1;i<=n;i++)
  57. cin>>a[i];
  58. bt();
  59. return 0;
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement