问题描述:
有一个国家发现了5座金矿,每座金矿的黄金储量不同,需要参与挖掘的工人数也不同。参与挖矿工人的总数是10人。每座金矿要么全挖,要么不挖,不能派出一半人挖取一半金矿。要求用程序求解出,要想得到尽可能多的黄金,应该选择挖取哪几座金矿?
//int g[]表示金矿金子数;int p[]表示需要矿工数;n金矿数;w矿工数
/**********************************************************************/
//解法一:只记录上一层数据,优化空间结构;
int GettheMostGold(int n, int w, int g[], int p[])
{
if(n<1 || w<1)
return 0;
vector<int> vecpre(w+