Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2019
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.54 KB | None | 0 0
  1. class Solution:
  2.  
  3. def numRollsToTarget(self, d: int, f: int, target: int) -> int:
  4. mem = {}
  5. return self.numRollsToTarg(d, f, mem, target)
  6.  
  7. def numRollsToTarg(self, d, f, mem, targ):
  8. state = str(d) + str(f) + str(targ)
  9. if state in mem:
  10. return mem[state]
  11. if not d:
  12. return 1 if targ == 0 else 0
  13. ways = 0
  14. for face in range(1, f+1):
  15. ways += self.numRollsToTarg(d-1, f, mem, targ - face)
  16. mem[state] = ways % (10**9+7)
  17. return ways % (10**9+7)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement