• 题目1364:v字仇杀队


    题目描述:

             最近玄影游侠看了一部非常好看的电影,叫做《v字仇杀队》。

             它想说明的一个问题就是,你现在所想的真的是你自己内心所想的吗?还是别人,社会让你这么想的?你要有自己的想法,每个人内心都有自己的准则,你没有必要按照大众的准则去想。

             v整整策划了一年炸掉英国政府的大楼来推翻独裁统治,在这期间,v遇到了一个问题:如何使用有限的炸弹来达到最大的破坏力。

             看过电影的人都知道,v最后使用自己偷偷建造的一个装满炸药的地铁直接开向国会大厦。虽然v的炸药很多,但是地铁中能装载的炸药数是有限的,因此,v就要挑选一部分炸药。如果换作你,你能在地铁有限的空间中装载挑选出来的炸药使得地铁的破坏力最大吗?

    输入:

             每组测试数据可能有多组输入,对于每一组输入,

             输入的第一行包括两个整数S(1 <= S <= 1000)和C(1<=C<=100),S代表地铁的总空间的大小,C代表v一共存储的炸药的个数。

             接下来的C行每行包括两个1到100(包括1和100)的整数,分别表示这个炸药所需要的空间以及它所能产生的破坏力。

    输出:

             对于每组输入,输出只包括一行,这一行只包含一个整数,表示在地铁的有限的空间里转载选出的炸药,能产生的最大的破坏力。如果每个炸药的体积都很大,地铁的空间连一个炸药都装不下,输出0即可。

    样例输入:
    70 3
    71 100
    69 1
    1 2
    样例输出:
    3

    Code:
    #include <iostream>
     
    using namespace std;
     
    struct Powder{
        int weight;
        int value;
    };
     
    int maxVal(int a,int b){
        return a>b?a:b;
    }
     
    int main()
    {
        int S,C;
        int dp[1010];
        Powder arr[110];
        while(cin>>S>>C){
            for(int i=1;i<=C;++i){
                cin>>arr[i].weight>>arr[i].value;
            }
            for(int i=0;i<=S;++i){
                dp[i]=0;
            }
            for(int i=1;i<=C;++i){
                for(int j=S;j>=arr[i].weight;--j){
                    dp[j]=maxVal(dp[j],dp[j-arr[i].weight]+arr[i].value);
                }
            }
            cout<<dp[S]<<endl;
        }
        return 0;
    }
     
    /**************************************************************
        Problem: 1364
        User: lcyvino
        Language: C++
        Result: Accepted
        Time:220 ms
        Memory:1520 kb
    ****************************************************************/
  • 相关阅读:
    1.01 与 0.99 的法则,Python 实现。
    Python list 数据类型:列表
    CDays3 习题一 (处理命令行参数)及相关内容解析。Python getopt 简介
    Arduino 外部中断
    关于普通定时器与高级定时器的 PWM输出的初始化的区别
    电平配配
    C#就地修改字符串
    将DataTable数据转化为Model对象列表
    SQL Server 事件探查器安装
    C语言模拟泛型粘贴符##的使用 迁移
  • 原文地址:https://www.cnblogs.com/Murcielago/p/4205950.html
Copyright © 2020-2023  润新知