Advertisement
Guest User

Untitled

a guest
Apr 19th, 2018
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.00 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. int getRandomNumber(int min, int max);
  4. int G(int k, int r, int*, int*);
  5.  
  6. int n = 9;
  7.  
  8. int main() {
  9. std::cout << "Hello, World!" << std::endl;
  10. //int n,
  11. int w;
  12. //n = getRandomNumber(0, 10);
  13. //n = 9;
  14. int s[n];
  15. int p[n];
  16. for (int i = 0; i < n; ++i) {
  17. //s[n] = getRandomNumber(0, 10);
  18. s[i] = i + 1;
  19. p[i] = i + 1;
  20. //p[n] = getRandomNumber(0, 10);
  21. }
  22. //w = getRandomNumber(0, 10);
  23. w = 6;
  24. std::cout << "n -> " << n << "\tw -> "<<w<<"\n";
  25. std::cout << "G(n,w) -> " << G(n, w, s, p);
  26. return 0;
  27. }
  28.  
  29. int G(int k, int r, int *s, int *p){
  30. if(k==0||r==0)
  31. return 0;
  32. if(s[k]>r)
  33. return G(k-1, r, s, p);
  34. return std::max(G(k-1, r, s, p), p[k] + G(k-1, r - s[k], s, p));
  35. }
  36.  
  37. int getRandomNumber(int min, int max) {
  38. static const double fraction = 1.0 / (static_cast<double>(RAND_MAX) + 1.0);
  39. return min + static_cast<int>((max - min + 1) * (rand() * fraction));
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement