• HDU 4501


    中了一个坑,循环时竟然从该物品的价格和分数开始,中招了,因为就算价格高于钱数,可能分数符合呢????所以要从零开始。

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    #include <cmath>
    using namespace std;
    
    int dp[102][102][102][7];
    int n,v1,v2,k;
    
    struct Node{
        int v1,v2,c;
    }node[111];
    
    int main(){
        while(scanf("%d%d%d%d",&n,&v1,&v2,&k)!=EOF){
            for(int i=1;i<=n;i++){
                scanf("%d%d%d",&node[i].v1,&node[i].v2,&node[i].c);
            }
            memset(dp,0,sizeof(dp));
            int ans=0;
            for(int e=1;e<=n;e++){
                for(int i=0;i<=v1;i++){
                    for(int j=0;j<=v2;j++){
                        for(int l=0;l<=k;l++){
                            dp[e][i][j][l]=dp[e-1][i][j][l];
                            if(i-node[e].v1>=0) dp[e][i][j][l]=max(dp[e][i][j][l],dp[e-1][i-node[e].v1][j][l]+node[e].c);
                            if(j-node[e].v2>=0) dp[e][i][j][l]=max(dp[e][i][j][l],dp[e-1][i][j-node[e].v2][l]+node[e].c);
                            if(l>0) dp[e][i][j][l]=max(dp[e][i][j][l],dp[e-1][i][j][l-1]+node[e].c);
                            ans=max(ans,dp[e][i][j][l]);
                        }
                    }
                }
            }
            printf("%d
    ",ans);
        }
        return 0;
    }
  • 相关阅读:
    ajax的调用
    jqurey的应用
    php数据访问数据层
    php租房子练习
    php投票
    Thinkphp 控制器
    ThinkPHP 框架基础
    php留言板
    php上传文件及头像预览
    php文件操作
  • 原文地址:https://www.cnblogs.com/jie-dcai/p/4345843.html
Copyright © 2020-2023  润新知