Advertisement
Bonta05

Untitled

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