您的位置:首页 > 其它

HDU 4501 小明系列故事——买年货

2013-06-25 21:29 302 查看
多维背包,看别人代码才能写出来啊!有点悲剧……

#include <iostream>
using namespace std;
int dp[105][105][105];
struct node
{
int a,b,val;
};
int main()
{
int i,j,l,e,kk,n,v1,v2;
node job[105];
while(cin>>n>>v1>>v2>>kk)
{
for(i=0;i<n;i++)
{
cin>>job[i].a>>job[i].b>>job[i].val;
}
memset(dp,0,sizeof(dp));
int temp;
for(i=0;i<n;i++)
{
for(j=v1;j>=0;j--)
{
for(l=v2;l>=0;l--)
{
for(e=kk;e>=0;e--)
{
temp=0;
if(j-job[i].a>=0)
temp=temp>dp[j-job[i].a][l][e]+job[i].val?temp:dp[j-job[i].a][l][e]+job[i].val;
if(l-job[i].b>=0)
temp=temp>dp[j][l-job[i].b][e]+job[i].val?temp:dp[j][l-job[i].b][e]+job[i].val;
if(e-1>=0)
temp=temp>dp[j][l][e-1]+job[i].val?temp:dp[j][l][e-1]+job[i].val;
dp[j][l][e]=dp[j][l][e]>temp?dp[j][l][e]:temp;
}
}
}
}
cout<<dp[v1][v2][kk]<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: