class Solution:
def numRollsToTarget(self, n: int, k: int, target: int) -> int:
dp = [[0 for _ in range(1001)] for _ in range(n+1)]
for kk in range(1, k+1):
dp[1][kk] = 1
for nn in range(1, n):
for tt in range(1, nn * k + 1):
for kk in range(1, k+1):
dp[nn+1][tt+kk] = (dp[nn+1][tt+kk] + dp[nn][tt]) % 1000000007
for i in range(1, n+1):
print(*dp[i][:target+1])
return dp[n][target]
뭐지 숫자가 커지는데? 했더니 DP였다.
댓글 0