数据结构 背包问题

来源:百度知道 编辑:UC知道 时间:2024/05/26 09:09:24
假设有一个能装入总体积为T的背包和n件体积分别为w1 , w2 , … , wn 的物品,能否从n件物品中挑选若干件恰好装满背包,即使w1 +w2 + … + wn=T,要求找出所有满足上述条件的解。例如:当T=10,各件物品的体积{1,8,4,3,5,2}时,可找到下列4组解:(1,4,3,2)
(1,4,5)
(8,2)
(3,5,2)。

#include <stdio.h>
#define N 6
int main(){
//从N个背包(每个背包中w[k])中选取总重为T的背包,共有多少种选法
        int w[N]={1,8,3,4,5,2};       //6个背包
        int T=10;                              //总重
        int k=0;                     
        int i=0;
        int j=1;
        struct stacks{                      //栈