#include<bits/stdc++.h>
using namespace std;
int n;//金矿总个数
int array1[100];//金矿含金量
int array3[100];//金矿对应的工人数
int capacity;//矿工的总人数
int array2[100+1][100+1];//最大金矿收益
int array4[100]={0};//记录采那些矿
int f(int n,int array1[],int array3[])
{
for(int i=0;i<=n;i++){
array2[i][0]=0;
}
for(int j=0;j<=capacity;j++)
{
array2[0][j]=0;
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=capacity;j++)
{
if(j<array3[i])
{
array2[i][j]=array2[i-1][j];
}
else
{
array2[i][j]=max(array2[i-1][j],array2[i-1][j-array3[i]]+array1[i]);
}
}
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余2页未读,立即下载