算法提高 快乐司机
时间限制:1.0s 内存限制:256.0MB
问题描述
  “嘟嘟嘟嘟嘟嘟
  喇叭响
  我是汽车小司机
  我是小司机
  我为祖国运输忙
  运输忙”
  这是儿歌“快乐的小司机”。话说现在当司机光有红心不行,还要多拉快跑。多拉不是超载,是要让所载货物价值最大,特别是在当前油价日新月异的时候。司机所拉货物为散货,如大米、面粉、沙石、泥土…
  现在知道了汽车核载重量为w,可供选择的物品的数量n。每个物品的重量为gi,价值为pi。求汽车可装载的最大价值。(n<10000,w<10000,0<gi<=100,0<=pi<=100)
输入格式
  输入第一行为由空格分开的两个整数n w
  第二行到第n+1行,每行有两个整数,由空格分开,分别表示gi和pi
输出格式
  最大价值(保留一位小数)
样例输入
5 36
99 87
68 36
79 43
75 94
7 35
样例输出
71.3
解释:
先装第5号物品,得价值35,占用重量7
再装第4号物品,得价值36.346,占用重量29
最后保留一位小数,得71.3

import java.math.BigDecimal;
import java.util.Scanner;public class 快乐司机 {public static void main(String args[]) {@SuppressWarnings("resource")Scanner input = new Scanner(System.in);
//      输入货物种类int classes = input.nextInt();
//      输入总载货量float weight = input.nextFloat();float each_price[] = new float[classes];float each_weight[] = new float[classes];
//      输入每种货物的价值和重量for(int i =0;i<classes;i++) {each_weight[i] = input.nextFloat();each_price[i] = input.nextFloat();}
//      测试输入数据的正确性
//      for(int i = 0;i<classes;i++) {
//          System.out.println("wight:"+each_weight[i]+"  price:"+each_price[i]);
//      }float benefit[] = new float[classes];
//      计算每种货物的价值比for(int i = 0;i<classes;i++) {benefit[i] = each_price[i] / each_weight[i];BigDecimal b = new BigDecimal(benefit[i]);  benefit[i] = b.setScale(3,BigDecimal.ROUND_HALF_UP).floatValue();  }//     测试货物价值比正确性
//      for(int i = 0;i<classes;i++) {
//          System.out.println(benefit[i]);
//      }float sum_weight = 0;float sum_price = 0;int k = 0;float max;for(int i = 0;i<classes;i++) {max = 0;
//          寻找最大价值比商品for(int j = 0;j<classes;j++) {if(benefit[j] >= max) {max = benefit[j];k = j;}}
//          System.out.println("benefit:"+benefit[k]+" index:"+k);
//          将当前货物的全部装入货车if(sum_weight + each_weight[k] <= weight) {sum_price += each_price[k];sum_weight += each_weight[k];}
//          将当前货物的部分装入货车else {sum_price += (weight - sum_weight) * benefit[k];break;}benefit[k] = -1;}
//      保留一位小数并输出总价值BigDecimal b = new BigDecimal(sum_price);  sum_price = b.setScale(1,BigDecimal.ROUND_HALF_UP).floatValue();  System.out.println(sum_price);}}

Java实现 蓝桥杯 算法提高 快乐司机相关推荐

  1. 蓝桥杯算法提高 快乐司机

    原题: 算法提高 快乐司机 时间限制:1.0s   内存限制:256.0MB 问题描述 "嘟嘟嘟嘟嘟嘟 喇叭响 我是汽车小司机 我是小司机 我为祖国运输忙 运输忙" 这是儿歌&qu ...

  2. 蓝桥杯 算法提高 快乐司机

    问题描述 "嘟嘟嘟嘟嘟嘟 喇叭响 我是汽车小司机 我是小司机 我为祖国运输忙 运输忙" 这是儿歌"快乐的小司机".话说现在当司机光有红心不行,还要多拉快跑.多拉 ...

  3. Java实现 蓝桥杯 算法提高 小X的购物计划

    试题 算法提高 小X的购物计划 问题描述 小X打算去超市shopping.小X没什么钱,只有N元.超市里有M种物品,每种物品都需要money,在小X心中有一个重要度.有的物品有无限件,有的物品只有几件 ...

  4. Java实现 蓝桥杯 算法提高 成绩排名

    试题 算法提高 成绩排名 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 小明刚经过了一次数学考试,老师由于忙碌忘记排名了,于是老师把这个光荣的任务交给了小明,小明则找到了聪明的你, ...

  5. Java实现 蓝桥杯 算法提高 Monday-Saturday质因子

    试题 算法提高 Monday-Saturday质因子 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 这个问题是个简单的与数论有关的题目,看起来似乎是"求正整数的所有质因子 ...

  6. Java实现 蓝桥杯 算法提高 秘密行动

    试题 算法提高 秘密行动 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 小D接到一项任务,要求他爬到一座n层大厦的顶端与神秘人物会面.这座大厦有一个神奇的特点,每层的高度都不一样, ...

  7. Java实现 蓝桥杯 算法提高 奥运会开幕式

    试题 算法提高 奥运会开幕式 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 学校给高一(三)班分配了一个名额,去参加奥运会的开幕式.每个人都争着要去,可是名额只有一个,怎么办?班长 ...

  8. Java实现 蓝桥杯 算法提高 高精度减法(JDK方法)

    试题 算法提高 高精度减法 问题描述 高精度减法 输入格式 两行,表示两个非负整数a.b,且有a > b. 输出格式 一行,表示a与b的差 样例输入 1234567890987654321 99 ...

  9. Java实现蓝桥杯 算法提高 身份证号码升级

    算法提高 身份证号码升级 时间限制:1.0s 内存限制:256.0MB 问题描述 从1999年10月1日开始,公民身份证号码由15位数字增至18位.(18位身份证号码简介).升级方法为: 1.把15位 ...

最新文章

  1. time datetime
  2. C mysql添加_MYSQL将表 B C 插入表A方法
  3. Linux MySQL 忘记root 密码
  4. java ArrayList排序
  5. kernelbasedll下载_kernel32.dll
  6. GeneXus笔记本—城市级联下拉
  7. 自定义搜索框,带提示信息的搜索框
  8. 微信做了个新功能,网友并不买账:就为了给QQ充会员?
  9. sublime怎么运行go_使用SublimeGDB调试Go程序
  10. mysql smallint int_mysql中int、bigint、smallint 和 tinyint的区别详细介绍
  11. python入门视频教程-Python入门视频全套教程
  12. 如何使用DevStack在Ubuntu 18.04上安装OpenStack
  13. xcode6.1中 symbolicatecrash位置
  14. eclipse快捷键 自动生成get set方法,转到所调用的方法
  15. 架构篇--系统监控--spring-boot2.0.X 系统原生信息监控,SQL信息监控,cpu温度监控报警,cup磁盘内存使用率监控报警,自定义端点监控以及子节点获取,系统异常邮件通知
  16. RestSharp是什么?
  17. android蓝牙健康 iee,Wi-Fi RTT(IEEE 802.11mc)
  18. Java 多线程设计模式
  19. 野派,阡陌人生路,泪断愁肠,滚滚红尘中,情留心房
  20. Centos7中查看IP命令

热门文章

  1. 改善编程体验: IdeaVimExtension介绍 1
  2. 【笔试——腾讯2021实习笔试题第二次2021.4.4】第3题 n人高空过钢索
  3. web兼容性面试题及答案
  4. Oracle打补丁步骤
  5. 14年至22年,我与世界杯的那些二三事
  6. 从Eclipse中导入项目到AndroidStudio中
  7. Android开发 .9图 使用备忘
  8. 《精力管理》读书笔记——第一部分
  9. 赛酷软件测试自学,赛酷ocr怎么用 赛酷ocr使用方法
  10. 【正点原子FPGA连载】第七章 Verilog HDL语 -摘自【正点原子】领航者ZYNQ之FPGA开发指南_V2.0