Advertisement
Guest User

Untitled

a guest
Nov 18th, 2019
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.89 KB | None | 0 0
  1. #include<iostream>
  2. using namespace std;
  3. int m1,p1,q1,n,m,p,q,k,x[100];
  4. int cond(int k)
  5. {if(m1>m||p1>p||q1>q)
  6. return 0;
  7. return 1;
  8. }
  9. int sol(int k)
  10. {return(k==n);
  11. }
  12. void afisare()
  13. {
  14. for(int i=1;i<=k;i++)
  15. cout<<x[i]<<" ";
  16. cout<<endl;
  17. }
  18. void back()
  19. {
  20. k=1;
  21. x[k]=-1;
  22. int gasit;
  23. while(k>0)
  24. {
  25. gasit=0;
  26. while(gasit==0&&x[k]<=2)
  27. {
  28. x[k]++;
  29. if(cond(k)==1)
  30. {gasit=1;
  31. if(x[k]==0)
  32. m1++;
  33. else if(x[k]==1)
  34. p1++;
  35. else q1++;
  36. }}
  37. if(gasit==1)
  38. if(sol(k)==1)
  39. afisare();
  40. else{k++;
  41. x[k]=-1;}
  42. else {k--;
  43. if(x[k]==0)
  44. m1--;
  45. else if(x[k]==1)
  46. p1--;
  47. else q1--;
  48. }
  49. }}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement