HDU 4501 小明系列故事——买年货(多重背包)

来源:互联网 发布:传奇皇帝朱元璋 知乎 编辑:程序博客网 时间:2024/04/29 10:28
题目:

http://acm.hdu.edu.cn/showproblem.php?pid=4501

代码:

#include<stdio.h>#include<string>int n,v1,v2,k;int a[105],b[105],val[105];int dp[105][105][105][6];int max(int a,int b){if(a>b) return a;else return b;}int main(){while(~scanf("%d%d%d%d",&n,&v1,&v2,&k)){int i,j,p,q;for(i=1;i<=n;i++){scanf("%d%d%d",&a[i],&b[i],&val[i]);}memset(dp,0,sizeof(dp));for(i=1;i<=n;i++){for(j=v1;j>=0;j--){for(p=v2;p>=0;p--){for(q=k;q>=0;q--){dp[i][j][p][q]=dp[i-1][j][p][q];if(j>=a[i]) {dp[i][j][p][q]=max(dp[i][j][p][q],dp[i-1][j-a[i]][p][q]+val[i]);}if(p>=b[i]){dp[i][j][p][q]=max(dp[i][j][p][q],dp[i-1][j][p-b[i]][q]+val[i]);}if(q>=1){dp[i][j][p][q]=max(dp[i][j][p][q],dp[i-1][j][p][q-1]+val[i]);}}}}}printf("%d\n",dp[n][v1][v2][k]);}return 0;}


0 0
原创粉丝点击