本文实例讲述了C++动态规划之背包问题解决方法。分享给大家供大家参考。具体分析如下:
问题描述:
背包的最大容量为W,有N件物品,每件物品重量为w,价值为p,怎样选择物品能使得背包里的物品价值最大?
输入:
10 3 (W,N)
4 5 (w,p)
6 7 (w,p)
8 9 (w,p)
实现代码:
#include
#define THING 20
#define WEIGHT 100
int arr[THING][WEIGHT];
/* 背包容量为weight,依次尝试1 - thing 物品时的最大价值 */
int price[100]; /*
1