百练OJ:4151:电影节
题目链接:
4151电影节
描述
大学生电影节在北大举办! 这天,在北大各地放了多部电影,给定每部电影的放映时间区间,区间重叠的电影不可能同时看(端点可以重合),问李雷最多可以看多少部电影。
输入
多组数据。每组数据开头是n(n<=100),表示共n场电影。
接下来n行,每行两个整数(0到1000之间),表示一场电影的放映区间
n=0则数据结束
输出
对每组数据输出最多能看几部电影
样例输入
8 3 4 0 7 3 8 15 19 15 20 10 15 8 18 6 12 0
样例输出
3
解题分析:
本题采用贪心算法:
首先对输入的数据按照结束时间从小到大排序,然后进行贪心选择。
解题代码:
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner input = new Scanner(System.in);while (true) {int n = input.nextInt();int length = n;if (n == 0)break;int[] starts = new int[n];int[] ends = new int[n];while (n > 0) {n--;int start = input.nextInt();int end = input.nextInt();starts[n] = start;ends[n] = end;}// 按照结束时间从早到晚排序for (int i = length - 1; i > 0; i--) {for (int j = i; j >= 0; j--) {if (ends[i] < ends[j]) {// 交换int tempStart = starts[i];starts[i] = starts[j];starts[j] = tempStart;int tempEnd = ends[i];ends[i] = ends[j];ends[j] = tempEnd;}}}// 开始贪心int tmpStart = 0;int index = 0;int count = 0;while (index < length) {if (starts[index] >= tmpStart) {count++;tmpStart = ends[index];}index++;}System.out.println(count);}}
}
结果: Accepted
百练OJ:4151:电影节相关推荐
- 威佐夫博弈:百练OJ:1067:取石子游戏
威佐夫博弈(Wythoff's game):有两堆各若干个物品,两个人轮流从任一堆取至少一个或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜. 百练OJ:1067:取石子游戏 ...
- 百练OJ:4003:十六进制转十进制(python三行代码实现)
题目链接:百练OJ:4003 描述 将十六进制数转换成十进制数 输入 第一行有一个整数T,表示共有T组数据 接下来T行,每一行为一个16进制无符号正整数,位数不超过8位,数中的a-f均为大写字母,数前 ...
- 百练OJ:2742:统计字符数
题目链接: 百练OJ:2742:统计字符数 描述:判断一个由a-z这26个字符组成的字符串中哪个字符出现的次数最多 输入:第1行是测试数据的组数n,每组测试数据占1行,是一个由a-z这26个字符组成的 ...
- java函数实现进制转换与java实现八进制到十进制的转换(百练OJ:2735:八进制到十进制)
java进制转换函数介绍:Java二进制.八进制.十进制.十六进制相互转换: 二进制转十进制 Integer.parseInt("0110", 2); 八进制转十进制 Intege ...
- 百练OJ:2973:Skew数
题目链接: 百练OJ:2973:Skew数 描述:在 skew binary表示中, 第 k 位的值xk表示xk*(2k+1-1). 每个位上的可能数字是0 或 1,最后面一个非零位可以是2, 例如, ...
- 程序员多久才能在北京买房子?百练OJ:4022:买房子
百练OJ:4022:买房子 题目链接:4022:买房子 描述 某程序员开始工作,年薪N万,他希望在中关村公馆买一套60平米的房子,现在价格是200万,假设房子价格以每年百分之K增长,并且该程序员未来年 ...
- 百练OJ:4147:汉诺塔问题(Hanoi)——python实现汉诺塔
一.汉诺塔问题 有三根杆子A,B,C.A杆上有N个(N>1)穿孔圆盘,盘的尺寸由下到上依次变小.要求按下列规则将所有圆盘移至C杆: 每次只能移动一个圆盘: 大盘不能叠在小盘上面. 提示:可将圆盘 ...
- 百练OJ:1013:Counterfeit Dollar(假币)
题目描述 Sally Jones has a dozen Voyageur silver dollars. However, only eleven of the coins are true sil ...
- 百练OJ:4150:上机
描述 又到周末了,同学们陆陆续续开开心心的来到机房上机.jbr也不例外,但是他到的有点晚,发现有些机位上已经有同学正在做题,有些机位还空着.细心的jbr发现,一位同学来到机房,坐在机位i上,如果他的左 ...
最新文章
- R语言使用ggplot2包的快速可视化函数qplot绘制散点图(添加平滑曲线与标准差带)实战
- e1载波把32个信道按_E1载波把32个信道按(11)方式复用在一条2.048Mb/s的高速信道上,每条话音信道的数据速率是(12)。...
- Tomcat startup.bat 原理分析
- mysql 日志节点恢复_基于binlog二进制日志的MySQL恢复笔记
- mnist数据集python导入_导入MNIST数据集时出错
- 画一个空心圆_圆形在PPT中的6大妙用,每一个都能瞬间提升PPT的逼格!
- oracle awr报告生成_oracle11g awr报告分析—WORKLOAD REPOSITORY report
- 串的复制——串传送指令MOVSB和方向标志位DF和CLD和REP
- 利用opencv中的级联分类器进行人脸检測-opencv学习(1)
- 3.关于运动控制芯片
- mybatis看这一篇就够了,简单全面一发入魂
- 怎么用万用表检测场效应管的好坏?
- Redux 的基本使用
- 使用Ubuntu 20.0.4编译Elasticfusion
- 《Buildozer打包实战指南》实战打包beautifulsoup (bs4)
- 有哪些可以替代NOTION的笔记软件?
- 金山打字通WINDOWS XP及WINDOWS 2003下安装后普通用户无法使用的问题
- GridView控件只让某列可以编辑,并在后台获取值的方法
- 这个PDF压缩软件值得收藏
- 袋鼠云flinksql连接器构建
热门文章
- 训练数据集时为何要先加载预训练模型作为初始化,这样做有何好处?
- Python 中的模块简介及应用
- 静态网页和动态网页的区别(转载)
- Gazebo添加模型并控制模型运动作为动态障碍物(Ubuntu16.04, Gazebo7.16),附录动态链接库和静态链接库区别
- Elasticsearch 100问(下)
- 运城学院数学与计算机系,运城学院数学与信息技术学院.doc
- 「后端小伙伴来学前端了」关于 Vue中的 props
- HTML---百度新闻轮播图--定位练习
- rocketmq发送第一条消息(三)
- 快捷键截屏_关于Mac电脑截图,你必须要知道的几个快捷键!(错过会后悔哦)...