4 条题解
-
1
经典动态规划
def count_ways(coins, m): dp = [0 for i in range(m + 1)] dp[0] = 1 for coin in coins: for i in range(coin, m + 1): dp[i] += dp[i - coin] return dp[m] n, m = map(int, input().split()) coins = [int(input()) for i in range(n)] ways = count_ways(coins, m) print(ways)
动态规划是正向计算的,我们不妨先试试逆向理解 或者按照代码推演一遍
信息
- ID
- 577
- 时间
- 1000ms
- 内存
- 64MiB
- 难度
- 5
- 标签
- (无)
- 递交数
- 52
- 已通过
- 19
- 上传者