HDU4501

来源:互联网 发布:乐视c21网络锁破解 编辑:程序博客网 时间:2024/06/06 03:40
#include <stdio.h>int main(){int n,v1,v2,k;while (scanf("%d",&n)!=EOF){int dp[101][101][6]={{{0}}};scanf("%d%d%d",&v1,&v2,&k);int i,j,x,y;int a[100],b[100],c[100];for (i=0;i<=n-1;i++){scanf("%d%d%d",&a[i],&b[i],&c[i]);}for (i=0;i<=n-1;i++){for (j=v1;j>=0;j--){for (x=v2;x>=0;x--){for (y=k;y>=0;y--){if (a[i]==0 || b[i]==0)//不用价钱或积分时特殊判断{dp[j][x][y]+=c[i];continue;}if (y>0 && dp[j][x][y-1]+c[i]>dp[j][x][y])dp[j][x][y]=dp[j][x][y-1]+c[i];if (x>=b[i] && dp[j][x-b[i]][y]+c[i]>dp[j][x][y])dp[j][x][y]=dp[j][x-b[i]][y]+c[i];if (j>=a[i] && dp[j-a[i]][x][y]+c[i]>dp[j][x][y])dp[j][x][y]=dp[j-a[i]][x][y]+c[i];}}}}printf("%d\n",dp[v1][v2][k]);}return 0;}

原创粉丝点击