#include <iostream>
using namespace std;
int m[100][100];
int min(int a,int b)
{
return (a<b)?a:b;
}
int max(int a,int b)
{
return (a>b)?a:b;
}
void knapsack(int v[],int w[],int c,int n)
{
int jMax=min(w[n],c);
for(int j=0;j<=jMax;j++)
m[n][j]=0;
for(j=w[n];j<=c;j++)
m[n][j]=v[n];
for(int i=n-1;i>1;i--)
{
jMax=min(w[i],c);
for(j=0;j<=jMax;j++)
m[i][j]=m[i+1][j];
for(j=w[i];j<=c;j++)
m[i][j]=max(m[i+1][j],m[i+1][j-w[i]]+v[i]);
}
m[1][c]=m[2][c];
if(c>=w[1])
m[1][c]=max(m[2][c],m[2][c-w[1]]+v[1]);
}
void trace(int w[],int c,int n,int x[])
{
for(int i=1;i<n;i++)
if(m[i][c]==m[i+1][c])
x[i]=0;
else
{
x[i]=1;
c-=w[i];
}
x[n]=(m[n][c])?1:0;
}
void main()
{
int c
华为机试—物品放箩筐(高级题160分,含体积价值:贪心算法)
最新推荐文章于 2025-05-19 09:44:25 发布
本文详细介绍了如何运用贪心算法解决华为机试中的一道高级题目,该题目要求优化物品放入有限空间的箩筐中,以最大化总体积价值。通过实例解析和代码展示,阐述了贪心策略在解决此类问题中的应用。

最低0.47元/天 解锁文章
1292





