测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A70747. 最大卡路里

编程题 入门

题目描述

神州飞船准备运送一批食品到太空站,该飞船能够运送食品的重量、体积都有严格的限制。

现已知 n 件完全不同的食品,每种食品的重量、体积及该食品能够提供的卡路里的值,请你编程计算出,该飞船最多能够运送多少卡路里的食物?

输入格式

第一行有两个整数,表示神州飞船能够装载食物的体积最大值( < 400)和质量最大值( < 400);

第二行,一个整数 食品总数 N ( < 50);

第三行 \sim3+N 行,每行三个数,表示第 i 件食品的体积( < 400) 质量( < 400) 所含卡路里( < 500)。

输出格式

一个整,表示所能达到的最大卡路里的值( int 范围内)

输入输出样例

输入 #1
320 350
4
160 40 120
80 110 240
220 70 310
40 400 22
输出 #1
550

说明/提示

## 思路

背包 DP:状态为容量(及物品),转移为选或不选当前物品。

## 步骤

1. 读入容量与物品体积/价值。
2. 按 01 或完全背包的循环顺序填 dp。
3. 输出最大价值或方案数。