zoukankan      html  css  js  c++  java
  • 【动态规划】完全背包问题

    问题 G: 【动态规划】完全背包问题

    时间限制: 1 Sec  内存限制: 64 MB
    提交: 12  解决: 10
    [提交][状态][讨论版]

    题目描述

    话说张琪曼和李旭琳又发现了一处魔法石矿(运气怎么这么好?各种嫉妒羡慕恨啊),她们有一个最多能装m公斤的背包,现在有n种魔法石,每种的重量分别是W1,W2,…,Wn,每种的价值分别为C1,C2,…,Cn。若每种魔法石的个数足够多,求她们能获得的最大总价值。

    输入

    第一行为两个整数,即m,n。

    以后每行为两个整数,表示每块魔法石的重量和价值。

    输出

    获得的最大总价值。

    样例输入

    5 5
    1 1
    2 2
    3 3
    4 4
    5 5
    

    样例输出

    #include <iostream>
    #include <cstdio>
    #include <cstring>
     
    using namespace std;
     
    int t[1005]={0};
    int p[1005]={0};
    int a[1005]={0};
     
    void completepack(int T,int t,int p){
        for(int i=t;i<=T;i++){
            a[i]=max(a[i],a[i-t]+p);
        }
    }
     
    int main()
    {
        int T,M;
        while(scanf("%d %d",&T,&M)!=EOF){
            memset(a,0,sizeof(a));
            for(int i=0;i<M;i++){
               scanf("%d %d",&t[i],&p[i]);
            }
            for(int i=0;i<M;i++){
                completepack(T,t[i],p[i]);
            }
            printf("%d
    ",a[T]);
        }
        return 0;
    }
     
    /**************************************************************
        Problem: 2277
        User: zz13
        Language: C++
        Result: 正确
        Time:0 ms
        Memory:1708 kb
    ****************************************************************/
    5



  • 相关阅读:
    Git之不明觉厉11-利其器source tree
    GUI for git|SourceTree|入门基础
    UIButton
    NSDictionary
    注释方法、代码块加快捷键注释
    UIActionSheet
    UIActivityIndicatorView
    UIPickerView
    UIImageView
    UIAlertView
  • 原文地址:https://www.cnblogs.com/TWS-YIFEI/p/5775530.html
Copyright © 2011-2022 走看看