zoukankan      html  css  js  c++  java
  • P1154 采药

    题目ID:1154

    题目名称:采药

    题目描述

    辰 辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到 一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间 里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。” 如果你是辰辰,你能完成这个任务吗?

    输入格式

    第 一行有两个整数T(1 <= T <= 1000)和M(1 <= M <= 100),用一个空格隔开,T代表总共能够用来采药的时间,M代表山洞里的草药的数目。接下来的M行每行包括两个在1到100之间(包括1和100)的整 数,分别表示采摘某株草药的时间和这株草药的价值。

    输出格式

    包括一行,这一行只包含一个整数,表示在规定的时间内,可以采到的草药的最大总价值。

    样例输入

    70 3
    71 100
    69 1
    1 2

    样例输出

    3

    数据范围与提示

    对于30%的数据,M <= 10;对于全部的数据,M <= 100。
     

    程序代码:

     1 #include<iostream>
     2 #include<string>
     3 #include<vector>
     4 using namespace std;
     5 
     6 int f[1001][1001];
     7 
     8 int main(){
     9     for(int i=0;i<1001;i++)
    10         for(int j=0;j<1001;j++){
    11             f[i][j]=0;
    12         }
    13     int tt,m;
    14     cin>>tt>>m;
    15     int t,v;
    16     cin>>t>>v;
    17     if(t<=tt)
    18     {
    19         for(int i=t;i<=tt;i++){
    20             f[0][i]=v;
    21         }
    22     }
    23     for(int i=1;i<m;i++){
    24         int t,v;
    25         cin>>t>>v;
    26         for(int j=t;j<=tt;j++){
    27             if(t<=tt){
    28                 if(f[i-1][j]>(f[i-1][j-t]+v)){
    29                     f[i][j]=f[i-1][j];
    30                 }else{
    31                     f[i][j]=f[i-1][j-t]+v;
    32                 }
    33             }else{
    34                 f[i][j]=f[i-1][j];
    35             }
    36         }
    37     }
    38     cout<<f[m-1][tt]<<endl;
    39 //    system("pause");
    40     return 0;
    41 }

    有效耗时:0 ms

    空间消耗:4436 KB

     

  • 相关阅读:
    OpenGL编程 基础篇(二)Sierpinski垫片
    PAT1045. Favorite Color Stripe
    OpenGL编程 基础篇(一)
    百练1145:Tree Summing
    百练1745:Divisibility
    百练1321:棋盘问题
    Scrapy架构及其组件之间的交互
    MongoDB快速入门
    Redis快速入门
    Memcache所有方法及参数详解
  • 原文地址:https://www.cnblogs.com/jinfang134/p/4034399.html
Copyright © 2011-2022 走看看