Advertisement
Guest User

Untitled

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