点击这里更换您喜欢的皮肤wtboj 首页
请点击这里登入noios   首页 入门 c++讲义 入门教程视频 金牌教程 入门视频 站务 公告 | 题库 记录 竞测 测试 闯关 作业 排名 团队 讨论 | 换肤 | 登入 注册  
News >>   新增功能:各团队管理员可以发布本团队作业了 ()

From sina007
最大价值
背景 Background
  为了for beginngers,特设此题,^_^
描述 Description
  最大价值(beibao.pas/beibao/exe)
问题描述
很快小明的生日到了,小明的父母为了给小明过一个开心的生日,叫小明到城里唯一的一间儿童商店购买小明喜欢的商品,商店里共有n种商品,商品i的总重量为w[i],商品i总价值为v[i],小明带了一个背包去商店,背包最多能装M的重量。其中(1 <= i <= N, 0 < w[i] < M)。现在请你编一个程序帮小明算一算:怎样装才能使背包中装入的商品价值最高(对于每种商品i可以只装该商品的一部分x[i],当然也只能获得部分的价值:(x[i]/w[i])*v[i])。
数据输入:
从文件beibao.in中读入数据,文件的第一行是两个正整数N和M,N表示商店共有N种商品,M表示小明背包的最大容量,接下来共有N行,每行有两个正整数w[i]和v[i]表示第i种商品的重量和第i种商品的价值。
数据输出:
结果输出到文件beibao.out中,只有一个正整数,表示小明能获得的最大价值,结果四舍五入到小数后第二位。
输入输出样例:
Beibao.in
3  21  //有3种商品,背包的最大容量为21
6  14  //第1种商品的重量为6,总价值为14
10  8   //第2种商品的重量为10,总价值为8
18  20   //第3种商品的重量为18,总价值为20
Beibao.out
30.67
样例说明:第一种商品取重量为6,第三种商品取重量为15,故所得到的价值为:
      (14/6)*6+(20/18)*15=30.67
说明:N为小于等于50的正整数,M为小于等于是1000的正整数,其余数据全部为小于100的正整数,注意结果四舍五入到小数后第二位。
时间限制 Time Limitation
  各个测试点1s
Flag
  
题号
  P1480
  其它
通过
  14人
提交
  59次
通过率
  24%
难度
  1
提交 讨论 题解
 Copyright wtboj © 2005-2006. www.wutuobang.date Powered by wtboj 关于 联系 帮助
 wtboj Information ---- Total Users : 1242 | Online Users / Processes : 0 / 51 | Processed Time : 125 ms | Server Time : 2025/4/27 2:47:03