codevs 2503 失恋28天-缝补礼物

题目描述 Description

话说上回他给女孩送了n件礼物,由于是廉价的所以全部都坏掉了,女孩很在意这些礼物,所以决定自己缝补,但是人生苦短啊,女孩时间有限,她总共有m分钟能去缝补礼物。由于损坏程度不一样所以缝补的时间p也是不一样的,每件礼物呢,都有一个女孩的喜爱程度为w,后面还有一个数字h为这种礼物的件数。女孩想让自己的喜爱程度的和最大,那么请聪明的你帮她算一算!(注意:礼物非常多,不一定都能缝补完,女孩也不用把所有时间都花费)

输入描述 Input Description

第1行2个整数 m,n
第2行到第n+1行 每行三个整数 p,w,h

输出描述 Output Description

一个整数s表示最大的喜爱程度

样例输入 Sample Input

8 2
2 100 4
4 100 2

样例输出 Sample Output

400

数据范围及提示 Data Size & Hint

m<=10000

n<=100

p,h,w<=6000

【思路】多重背包问题 直接上模板

f[m]为不超过m分钟喜爱程度的最大值

【代码】

#include<iostream>
#include<cstdio>
using namespace std;
int w[101],t[101],c[101],f[10009];
int main()
{
    int m,n;
    scanf("%d%d",&m,&n);
    for(int i=1;i<=n;i++)
    scanf("%d%d%d",&t[i],&w[i],&c[i]);
    for(int i=1;i<=n;i++)
    {
        for(int j=m;j>=t[i];j--)
        {
            for(int k=0;k<=c[i];k++)//看看同种缝几个最大 循环从0开始 因为也可以不缝这一种嘛
            {
                if(j-k*t[i]<0)break;
                f[j]=max(f[j],f[j-k*t[i]]+k*w[i]);
            }
        }
    }
    printf("%d",f[m]);
    return 0;
}
时间: 2024-10-11 16:47:27

codevs 2503 失恋28天-缝补礼物的相关文章

失恋28天-缝补礼物(codevs 2503)

2503 失恋28天-缝补礼物 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description 话说上回他给女孩送了n件礼物,由于是廉价的所以全部都坏掉了,女孩很在意这些礼物,所以决定自己缝补,但是人生苦短啊,女孩时间有限,她总共有m分钟能去缝补礼物.由于损坏程度不一样所以缝补的时间p也是不一样的,每件礼物呢,都有一个女孩的喜爱程度为w,后面还有一个数字h为这种礼物的件数.女孩想让自己的喜爱程度的和最大,那么请聪明的你帮她算一

codevs2503失恋28天......

503 失恋28天-缝补礼物 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 黄金 Gold 题目描述 Description 话说上回他给女孩送了n件礼物,由于是廉价的所以全部都坏掉了,女孩很在意这些礼物,所以决定自己缝补,但是人生苦短啊,女孩时间有限,她总共有m分钟能去缝补礼物.由于损坏程度不一样所以缝补的时间p也是不一样的,每件礼物呢,都有一个女孩的喜爱程度为w,后面还有一个数字h为这种礼物的件数.女孩想让自己的喜爱程度的和最大,那么请聪明的你帮她算一算!(注意:礼物非常多

2434 失恋28天-追女孩篇

2434 失恋28天-追女孩篇 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description 呵呵,相信大家失恋33天都看过吧,里面的主人公黄小仙和王小贱都有印象吧!这回我要给大家讲的是我 们班同学的失恋经历,呵呵他总共失恋了28天.但是他不舍得放弃这个女孩,总要给女孩一些礼物,他还 比较抠门(也许这就是他失恋的原因吧),他准备给女孩送n件礼物,他妈妈每月会给他m元钱,这m元钱随 他支配,他想更多的送女孩礼物,但是脑子比较笨

Babelfish(codevs 2503)

大致题意: 输入一个字典,字典格式为“英语à外语”的一一映射关系 然后输入若干个外语单词,输出他们的 英语翻译单词,如果字典中不存在这个单词,则输出“eh” #include<iostream> #include<cstdio> #include<map> #include<string> #include<cstring> using namespace std; int main() { map<string,string> ma

codevs2894、2837、1669、2503、3231

6.25动态规划之背包回顾 2894 Txx考试 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description Txx是一个成绩很差的人,考试便成了他的噩梦.于是他常在考试时睡觉以打发时间.今天他又要面临一次考试,为了保证有充足的睡眠,他决定只做k分钟题目.这次测试有n道题,第i题的得分是pi分,需要耗费ti分钟解决(将要完成也得不到分). 请你算出他最少扣多少分(总分是所有题目分值的总和). 输入描述 Input Description

Windows7WithSP1/TeamFoundationServer2012update4/SQLServer2012

[Info   @09:03:33.737] ====================================================================[Info   @09:03:33.743] Team Foundation Server Administration Log[Info   @09:03:33.748] Version  : 11.0.61030.0[Info   @09:03:33.748] DateTime : 05/24/2014 17:0

Codevs 3409 搬运礼物

3409 搬运礼物 CodeVS原创 时间限制: 1 s 空间限制: 64000 KB 题目等级 : 青铜 Bronze 题解 题目描述 Description 小浣熊松松特别喜欢交朋友,今年松松生日,就有N个朋友给他送礼物.可是要把这些礼物搬回家是一件很困难的事,具体来说,如果松松一次搬运x件礼物,就要花费w[x]的体力(显而易见,有w[x]<=w[x+1],搬得越多耗费体力越多).松松并不在意他会搬多少次,但是他想知道,自己最少花费多少体力,就可以把礼物全部搬回家. 输入描述 Input D

背包DP;搬运礼物 {CodeVS原创}

题目描述  Description 小浣熊松松特别喜欢交朋友,今年松松生日,就有N个朋友给他送礼物.可是要把这些礼物搬回家是一件很困难的事,具体来说,如果松松一次搬运x件礼物,就要花费w[x]的体力(显而易见,有w[x]<=w[x+1],搬得越多耗费体力越多).松松并不在意他会搬多少次,但是他想知道,自己最少花费多少体力,就可以把礼物全部搬回家. 输入描述 Input Description 第一行包含一个整数N,代表有N个朋友给松松送礼物. 接下来N行,第i行表示一次搬运i件礼物花费的体力w[

Codevs 3409 搬礼物

时间限制: 1 s 空间限制: 64000 KB 题目等级 : 青铜 Bronze 题目描述 Description 小浣熊松松特别喜欢交朋友,今年松松生日,就有N个朋友给他送礼物.可是要把这些礼物搬回家是一件很困难的事,具体来说,如果松松一次搬运x件礼物,就要花费w[x]的体力(显而易见,有w[x]<=w[x+1],搬得越多耗费体力越多).松松并不在意他会搬多少次,但是他想知道,自己最少花费多少体力,就可以把礼物全部搬回家. 输入描述 Input Description 第一行包含一个整数N,