Advertisement
Bonta05

Untitled

Feb 17th, 2020
104
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] and 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. cin>>v[i];
  39. for(i=1;i<=n;i++)
  40. cin>>c[i];
  41. k=1;
  42. init();
  43. while(k)
  44. {
  45. do
  46. {
  47. as=succesor();
  48. if(as)
  49. ev=valid();
  50. }
  51. while(!(as&&ev||!as));
  52. if(as)
  53. if(solutie())
  54. {tipar();
  55. return 0;}
  56. else
  57. {
  58. k++;
  59. init();
  60. }
  61. else
  62. k--;
  63. }
  64. return 0;
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement