#include using namespace std; int f[1010][1010]; /* 测试数据: 4 5 6 1 2 3 2 4 4 3 4 5 4 5 6 答案: 8 */ int n, V, M; int main() { scanf("%d %d %d", &n, &V, &M); //物品件数 背包容量 背包承重 for (int i = 1; i <= n; i++) { //枚举物品 int v, m, w; //体积 重量 价值 scanf("%d %d %d", &v, &m, &w); for (int j = V; j >= v; j--) //枚举体积 for (int k = M; k >= m; k--) //枚举承重 f[j][k] = max(f[j][k], f[j - v][k - m] + w); } printf("%d\n", f[V][M]); return 0; }