用动态规划法解 0/1背包问题要求用c语言编写程序原代码。
实验项目 0/1背包问题1.实验题目给定n种物品和一个容量为C的背包,物品i的重量是wi,其价值为vi,0/1背包问题是如何...
实验项目 0/1背包问题1.实验题目给定n种物品和一个容量为C的背包,物品i的重量是wi,其价值为vi,0/1背包问题是如何选择装入背包的物品(物品不可分割),使得装入背包中物品总价值最大。2.实验要求(1)设计动态规划法的填表过程和求解方法;(3)设计测试数据,并讨论所得结果。
展开
1个回答
展开全部
#include <stdio.h>
int main(){
int n,c,cost[50],w[50];
scanf("%d%d",&n,&c);
for (int i=0;i<n;i++)
{
scanf("%d",&cost[i],&w[i]);
}
int dp[100];
for (int j=0;j<n;j++)
for (int i=c;i>=0;i--)
{
if (dp[i]<dp[i-cost[j]]+w[j])
{
dp[i]=dp[i-cost[j]]+w[j];
}
}
printf("%d\n",dp[c]);
return 0;
}
int main(){
int n,c,cost[50],w[50];
scanf("%d%d",&n,&c);
for (int i=0;i<n;i++)
{
scanf("%d",&cost[i],&w[i]);
}
int dp[100];
for (int j=0;j<n;j++)
for (int i=c;i>=0;i--)
{
if (dp[i]<dp[i-cost[j]]+w[j])
{
dp[i]=dp[i-cost[j]]+w[j];
}
}
printf("%d\n",dp[c]);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询