#include<iostream>
using namespace std;
struct goods
{
int weight;
int value;
};
int knapsack(int **,int row,int list,goods[],int number);
int main()
{
int maxsize=22;
goods g[5];
g[0].weight=3;g[0].value=4;
g[1].weight=5;g[1].value=6;
g[2].weight=7;g[2].value=7;
g[3].weight=8;g[3].value=9;
g[4].weight=9;g[4].value=10;
int **p;
p=new int *[6];
for(int i=0;i<6;i++)
p[i]=new int [maxsize+1];
cout<<knapsack(p,6,maxsize+1,g,6)<<endl;
for(int i=0;i<6;i++)
{ for(int j=0;j<23;j++)
cout<<p[i][j]<<" ";
cout<<endl;}
return 0;
}
int knapsack(int **p,int row,int list,goods g
(算法设计技巧与分析)Knapsack
最新推荐文章于 2024-06-16 23:06:11 发布
本文深入探讨了算法设计中的经典问题——0/1背包问题,详细解析了动态规划的解决方案,介绍了如何通过构建状态转移方程来求解最优装载方案,并通过实例展示了算法的执行过程,帮助读者理解算法思想及其在实际问题中的应用。
摘要由CSDN通过智能技术生成