开心的小明

时间限制:1000 ms  |  内存限制:65535 KB
难度:4
描写叙述
小明今天非常开心。家里购置的新房就要领钥匙了,新房里有一间他自己专用的非常宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间须要购买哪些物品,怎么布置,你说了算。仅仅要不超过N 元钱即可”。

今天一早小明就開始做预算,可是他想买的东西太多了。肯定会超过妈妈限定的N 元。于是。他把每件物品规定了一个重要度。分为5 等:用整数1~5 表示,第5 等最重要。

他还从因特网上查到了每件物品的价格(都是整数元)。

他希望在不超过N 元(能够等于N 元)的前提下,使每件物品的价格与重要度的乘积的总和最大。设第j
件物品的价格为v[j]。重要度为w[j],共选中了k 件物品,编号依次为j1...jk,则所求的总和为:v[j1]*w[j1]+..+v[jk]*w[jk]请你帮助金明设计一个满足要求的购物单.

输入
第一行输入一个整数N(0<N<=101)表示測试数据组数

每组測试数据输入的第1 行,为两个正整数,用一个空格隔开:

N m

(当中N(<30000)表示总钱数,m(<25)为希望购买物品的个数。)

从第2 行到第m+1 行。第j 行给出了编号为j-1

的物品的基本数据。每行有2 个非负整数

v p

(当中v 表示该物品的价格(v≤10000),p 表示该物品的重要度(1~5))
输出
每组測试数据输出仅仅有一个正整数。为不超过总钱数的物品的价格与重要度乘积的总和的

最大值(<100000000)
例子输入
1
1000 5
800 2
400 5
300 5
400 3
200 2
例子输出
3900
/*还是01背包问题,做的时候仅仅须要将物品价钱和重要度相乘,再套模板就可以*/
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
int test,i,j,n,m;
int a[28],b[28],dp[30002];
scanf("%d",&test);
while(test--)
{
scanf("%d %d",&n,&m);
memset(dp,0,sizeof(dp));
for(i=1;i<=m;i++)
{
scanf("%d %d",&a[i],&b[i]);
}
for(i=1;i<=m;i++)
{
for(j=n;j>=a[i];j--)//注意这个循环中j>=a[i];
dp[j]=max(dp[j],dp[j-a[i]]+a[i]*b[i]);
}
printf("%d\n",dp[n]);
}
return 0;
}

开心的小明(南阳oj49)(01背包)的更多相关文章

  1. 洛谷 P1060 开心的金明【DP/01背包】

    题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:"你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就 ...

  2. nyoj 49 开心的小明

    开心的小明 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 小明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天 ...

  3. NYoj_49开心的小明

    开心的小明 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 小明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他 ...

  4. nyoj_49_开心的小明_201403161133

    开心的小明 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 小明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天 ...

  5. ny49 开心的小明

    开心的小明 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 小明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他 ...

  6. nyoj 题目49 开心的小明

    开心的小明 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 小明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天 ...

  7. NYOJ 49 开心的小明(01背包问题)

    时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描写叙述 小明今天非常开心.家里购置的新房就要领钥匙了,新房里有一间他自己专用的非常宽敞的房间.更让他高兴的是.妈妈昨天对他说: ...

  8. nyoj 49-开心的小明(动态规划, 0-1背包问题)

    49-开心的小明 内存限制:64MB 时间限制:1000ms Special Judge: No accepted:7 submit:11 题目描述: 小明今天很开心,家里购置的新房就要领钥匙了,新房 ...

  9. 1084: 开心的小明(dengdengoj)

    题目描述 小明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N 元钱就行”.今 ...

随机推荐

  1. [Tailwind] Abstract Utility Classes to BEM Components in Tailwind

    When creating UIs with utility classes, a lot of repetition can occur within the HTML markup. In thi ...

  2. [React Router] Create a ProtectedRoute Component in React Router (setState callback to force update)

    In this lesson we'll create a protected route just for logged in users. We'll combine a Route with a ...

  3. linux删除多行

    光标放到行dd:删除所在行 光标放到行Ndd: 删除所在行下的N行

  4. mybatis使用generator自己主动生成代码时的类型转换

    使用mybatis的generator自己主动生成代码,可是oracle数据库中number(6,2)总是自己主动转成BigDecimal.我想要转成的是float类型 这样就写了一个类型转换器,须要 ...

  5. HttpClient学习系列 -- 学习总结

    jar包: HttpClient 4.x版本 简要介绍 HttpComponents 包括 HttpCore包和HttpClient包 HttpClient:Http的执行http请求 Default ...

  6. numpy的scale就是 x-mean/std

    >>> from sklearn import preprocessing >>> import numpy as np >>> a=np.arr ...

  7. LightOJ--1094-- Farthest Nodes in a Tree(树的直径裸题)

    Farthest Nodes in a Tree Time Limit: 2000MS Memory Limit: 32768KB 64bit IO Format: %lld & %llu S ...

  8. [转]数据库事务中的隔离级别和锁+spring Transactional注解

    数据库事务中的隔离级别和锁 数据库事务在后端开发中占非常重要的地位,如何确保数据读取的正确性.安全性也是我们需要研究的问题.ACID首先总结一下数据库事务正确执行的四个要素(ACID): 原子性(At ...

  9. 关于QueryRunner数据查询以及常用方法

    QueryRunner数据查询操作调用QueryRunner类方法query(Connection con,String sql,ResultSetHandler r, Object.params)R ...

  10. Swagger 隐藏具体API

    一.why 在swagger ui界面中有时候不想显示某些api,通过下面的方式可以实现. 1.1.新建一个类实现IDocumentFilter接口 using Swashbuckle.Swagger ...