java入门--4110:圣诞老人的礼物-Santa Clau’s Gifts
学习了一下java的语法,就用poj上的题目做作练习,好更快的熟悉常用的java语法。
题目在这里 http://bailian.openjudge.cn/practice/4110/
import java.util.*;
public class Main {
private static class Ware {
public int value;
public int count;
public double v_p;
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int rowcount = scan.nextInt();
int weight = scan.nextInt();
List<Ware> wares= new ArrayList<Ware>();
for(int i = 0; i < rowcount; ++i) {
Ware w = new Ware();
w.value = scan.nextInt();
w.count = scan.nextInt();
w.v_p = w.value * 1.0 /w.count;
wares.add(w);
}
Collections.sort(wares, new Comparator<Ware>() {
@Override
public int compare(Ware o1, Ware o2) {
if (Math.abs(o1.v_p - o2.v_p) < 1e-6) {
return 0;
}
else if (o1.v_p > o2.v_p)
return -1;
else
return 1;
}
});
double sum = 0;
for (int i = 0; i < wares.size(); ++ i) {
Ware w = wares.get(i);
if (w.count <= weight) {
sum += w.value;
}
else {
sum += weight * w.v_p;
break;
}
weight -= w.count;
}
System.out.printf("%.1f", sum);
}
}
虽然简单,但是学习了java怎么处理输入;怎么排序;嵌套类默认会有一个外部类的引用,只能声明为static,才能在外部类的static函数中引用
java入门--4110:圣诞老人的礼物-Santa Clau’s Gifts的更多相关文章
- 【OpenJ_Bailian - 4110】圣诞老人的礼物-Santa Clau’s Gifts (贪心)
圣诞老人的礼物-Santa Clau’s Gifts Descriptions: 圣诞节来临了,在城市A中圣诞老人准备分发糖果,现在有多箱不同的糖果,每箱糖果有自己的价值和重量,每箱糖果都可以拆分成 ...
- Java入门第一章
后天就是十一长假了,亲们准备好了去哪儿玩了吗? 今天有点空,就来聊聊Java吧,当然是一些Java入门知识了,网上有很多,这里我只是列举一些我自己学到的,感谢大家关注喵的博客这么久,也为大家带来点新知 ...
- [Java入门笔记] 面向对象编程基础(二):方法详解
什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...
- 第1章Java入门体验
第1章Java入门体验 1.java简介和平台应用 Java是sun公司开发出来,现在属于ORACLE公司java分为几个部分:首先是最基础的Java SE部分,这部分是Java的基础知识,主要包括: ...
- Java入门记(五):容器关系的梳理(下)——Map
注意:阅读本文及相关源码时,需要数据结构相关知识,包括:哈希表.链表.红黑树. Map是将键(key)映射到值(value)的对象.不同的映射不能包含相同的键:每个键最多只能映射到一个值.下图是常见M ...
- Java入门(二)——果然断更的都是要受惩罚的。。。
断更了一个多月,阅读量立马从100+跌落至10-,虽说不是很看重这个,毕竟只是当这个是自己的学习笔记,但有人看,有人评论,有人认同和批评的感觉还是很巴适的,尤其以前有过却又被剥夺的,惨兮兮的. 好好写 ...
- Android初涉及之Android Studio&JAVA入门--二月不能不写东西
是的,我还没有放弃写博客. 是的,我也没有放弃PHP的学习. 是的,我要开始学学最TM火的Android开发了. 你呢 1.Android Studio 一.概况 安装和配置什么的就不具体说了,网上一 ...
- JAVA手记 JAVA入门(安装+Dos下运行)
JAVA入门特供= =,今天设置环境变量后用dos运行的时候发现出现“找不到或无法加载主类”,索性查了些资料重新看了看JAVA入门的部分. 声明:我的笔记本暂时用的是Win10系统,Windows其他 ...
- Java入门教程总目录
Java入门教程总目录 持续更新中... 1.Java常识汇总 2.Java框架对比 3.Java技术路线 4.Java编码规范 5.Java环境变量配置 6.枚举 7.操作符 12.定时任务
随机推荐
- 解决The valid characters are defined in RFC 7230 and RFC 3986错误问题
分析原因: 导致上述问题是因为tomcat自tomcat 8.0.35版本之后对URL参数做了比较规范的限制,必须遵循RFC 7230 and RFC 3986规范,对于非保留字字符(json格式的请 ...
- C#演化过程--各个版本新增加特性
- vagrant up下载box慢的解决办法
即在运行vagrant up时得到其的下载路径,如: https://vagrantcloud.com/ubuntu/boxes/xenial64/versions/20190101.0.0/prov ...
- 常见的CSS属性和值CascadingStyleSheets
字体文本背景位置边框列表其他 CSS中修饰字体的属性 属 性 描 述 属 性 值 font-family 字体族科 任意字体族科名称都可以使用例如Times.serif等,而且多个族科 ...
- uptime 负载 top
1.首先怎样知道我的CPU是几核呢? 使用以下命令可以直接获得CPU核心数目 grep 'model name' /proc/cpuinfo | wc -l 2.单核CPU - 单车道 - 数字在0. ...
- SystemView SEGGER FreeRTOS 移植和使用
/* 官方帮助英文翻译文档参考:https://blog.csdn.net/bjr2016/article/category/7275877. */ /* 移植文档参考:https://blog.cs ...
- 详细解读大数据分析引擎Pig&PigLatin语句
Pig 一.Pig的介绍: Pig由Yahoo开发,主要应用于数据分析,Twitter公司大量使用Pig处理海量数据,Pig之所以是数据分析引擎,是因为Pig相当于一个翻译器,将PigLatin语句翻 ...
- HUE配置HBase
HBase的配置 修改配置hue.ini的配置文件 [hbase] hbase_clusters=(Cluster|node1:) hbase_conf_dir=/usr/hbase-0.98.12. ...
- Android Device Monitor 文件管理的常见问题 - z
Android Device Monitor 是 Android Studio 中用于监测模拟器或真机运行状态的一款开发者工具.但开发者在使用它的过程中往往会遇到很多问题,尤其对于新手.本文分析了实际 ...
- 2017-2018-2 20155203《网络对抗技术》Exp5 MSF基础应用
1.实践过程记录 1.1一个主动攻击实践,如ms08_067; msf > search ms08_067_netapi //查看可以用的工具 [!] Module database cache ...