一、问题
二、解题思路
三、c++代码
下面是我自己理解写的,没有根据标准答案的,那答案在讲啥?。。一直没法AC,,不过还是可以解决问题的。n件物品按单位重量价值降序排序,然后回溯法装,右结点必要时剪枝,刚好凑成重量为m的若干件物品才能得到一个解。
#include<iostream>
#define MAX 50
using namespace std;
int n,m;
double cw,cp,bestp,perp[MAX],w[MAX],v[MAX];
void swap(int i,int j)
{
double t;
t=perp[i];perp[i]=perp[j];perp[j]=t;
t=w[i];w[i]=w[j];w[j]=t;
t=v[i];v[i]=v[j];v[j]=t;
}
void quicksort(int p,int q)
{