Advertisement
Guest User

Untitled

a guest
Dec 7th, 2016
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.03 KB | None | 0 0
  1. Recursive(i,prev_selection,remaining_selections):
  2. if remaining_selections<=0 or i>n:
  3. return 0
  4.  
  5. if computed[i,prev_selection,remaining_selections] != EMPTY:
  6. return computed[i,prev_selection,remaining_selections]
  7.  
  8. if previous_selection == Plus:
  9.  
  10. GoesToMinus = Recursive(i+1,Minus,remaining_selections) - value[i]
  11.  
  12. IsNotSelected = Recursive(i+1,Plus,remaining_selections)
  13.  
  14.  
  15. computed[i,prev_selection,remaining_selections] = max(GoesToMinus,IsNotSelected)
  16.  
  17. return computed[i,prev_selection,remaining_selections]
  18.  
  19. else if previous_selection == Minus:
  20.  
  21. GoesToPlus = Recursive(i+1,Plus,remaining_selections-1) + value[i]
  22. //Selections are only decreased when selecting a Plus
  23. //Remember that Minus is always selected first
  24.  
  25. IsNotSelected = Recursive(i+1,Minus,remaining_selections)
  26.  
  27. computed[i,prev_selection,remaining_selections] = max(GoesToPlus,IsNotSelected)
  28.  
  29. return computed[i,prev_selection,remaining_selections]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement