Skip to content

Latest commit

 

History

History
27 lines (22 loc) · 831 Bytes

1155.-number-of-dice-rolls-with-target-sum.md

File metadata and controls

27 lines (22 loc) · 831 Bytes

1155. Number of Dice Rolls With Target Sum

class Solution:
    def numRollsToTarget(self, d: int, f: int, target: int) -> int:
        mod = 10**9 +  7
        ans = 0
        ## 这tm就是dp
        dp = [[0] * (target + 1) for _ in range(d+1)]
        ## d, target, 多少面就会在循环里面用到
        #dp[d][target] nums
        for t in range(1, min(target + 1,f + 1)):
            dp[1][t] = 1
        
        for i in range(2, d + 1):
            ##下限就是 骰子个数
            for j in range(i, min(target + 1,i * f + 1)):
                ## k 骰子
                for k in range(1, min(f + 1,j + 1)):
                    if j - k >= 0 :
                        dp[i][j] = (dp[i][j] + dp[i - 1][j - k]) % mod
                        
        # print(dp)
        return dp[d][target]