def knapsack(max_capacity, weights, values):
"""
解决背包问题的动态规划实现。
:param max_capacity: 背包的最大容量
:param weights: 豆子的重量列表
:param values: 豆子的价值列表
:return: 可以达到的最大价值
"""
n = len(values)
dp = [[0 for _ in range(max_capacity + 1)] for _ in range(n + 1)]
for i in range(1, n + 1):
for w in range(1, max_capacity + 1):
if weights[i-1] <= w:
dp[i][w] = max(dp[i-1][w], dp[i-1][w-weights[i-1]] + values[i-1])
else:
dp[i][w] = dp[i-1][w]
return dp[n][max_capacity]
max_capacity = 50
weights = [10, 20, 30]
values = [60, 100, 120]
knapsack(max_capacity, weights, values)