酷代码 AI
菜单
服务商
DeepSeek字节豆包讯飞星火
更多选项

Python实现:求解背包最大价值问题,附输入输出示例

```python def knapsack(n, g, w, v): dp = [[0] * (g + 1) for _ in range(n + 1)] for i in range(1, n + 1): for j in range(1, g + 1): if j >= w[i - 1]: dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - w[i - 1]] + v[i - 1]) else: dp[i][j] = dp[i - 1][j] return dp[n][g] if __name__ == "__main__": n, g = map(int, input().split()) weights = list(map(int, input().split())) values = list(map(int, input().split())) print(knapsack(n, g, weights, values)) ``` ######[AI写代码神器 | 233点数解答 | 2024-06-10 11:26:54]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]