题目链接:

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:电影节相关推荐

  1. 威佐夫博弈:百练OJ:1067:取石子游戏

    威佐夫博弈(Wythoff's game):有两堆各若干个物品,两个人轮流从任一堆取至少一个或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜. 百练OJ:1067:取石子游戏 ...

  2. 百练OJ:4003:十六进制转十进制(python三行代码实现)

    题目链接:百练OJ:4003 描述 将十六进制数转换成十进制数 输入 第一行有一个整数T,表示共有T组数据 接下来T行,每一行为一个16进制无符号正整数,位数不超过8位,数中的a-f均为大写字母,数前 ...

  3. 百练OJ:2742:统计字符数

    题目链接: 百练OJ:2742:统计字符数 描述:判断一个由a-z这26个字符组成的字符串中哪个字符出现的次数最多 输入:第1行是测试数据的组数n,每组测试数据占1行,是一个由a-z这26个字符组成的 ...

  4. java函数实现进制转换与java实现八进制到十进制的转换(百练OJ:2735:八进制到十进制)

    java进制转换函数介绍:Java二进制.八进制.十进制.十六进制相互转换: 二进制转十进制 Integer.parseInt("0110", 2); 八进制转十进制 Intege ...

  5. 百练OJ:2973:Skew数

    题目链接: 百练OJ:2973:Skew数 描述:在 skew binary表示中, 第 k 位的值xk表示xk*(2k+1-1). 每个位上的可能数字是0 或 1,最后面一个非零位可以是2, 例如, ...

  6. 程序员多久才能在北京买房子?百练OJ:4022:买房子

    百练OJ:4022:买房子 题目链接:4022:买房子 描述 某程序员开始工作,年薪N万,他希望在中关村公馆买一套60平米的房子,现在价格是200万,假设房子价格以每年百分之K增长,并且该程序员未来年 ...

  7. 百练OJ:4147:汉诺塔问题(Hanoi)——python实现汉诺塔

    一.汉诺塔问题 有三根杆子A,B,C.A杆上有N个(N>1)穿孔圆盘,盘的尺寸由下到上依次变小.要求按下列规则将所有圆盘移至C杆: 每次只能移动一个圆盘: 大盘不能叠在小盘上面. 提示:可将圆盘 ...

  8. 百练OJ:1013:Counterfeit Dollar(假币)

    题目描述 Sally Jones has a dozen Voyageur silver dollars. However, only eleven of the coins are true sil ...

  9. 百练OJ:4150:上机

    描述 又到周末了,同学们陆陆续续开开心心的来到机房上机.jbr也不例外,但是他到的有点晚,发现有些机位上已经有同学正在做题,有些机位还空着.细心的jbr发现,一位同学来到机房,坐在机位i上,如果他的左 ...

最新文章

  1. R语言使用ggplot2包的快速可视化函数qplot绘制散点图(添加平滑曲线与标准差带)实战
  2. e1载波把32个信道按_E1载波把32个信道按(11)方式复用在一条2.048Mb/s的高速信道上,每条话音信道的数据速率是(12)。...
  3. Tomcat startup.bat 原理分析
  4. mysql 日志节点恢复_基于binlog二进制日志的MySQL恢复笔记
  5. mnist数据集python导入_导入MNIST数据集时出错
  6. 画一个空心圆_圆形在PPT中的6大妙用,每一个都能瞬间提升PPT的逼格!
  7. oracle awr报告生成_oracle11g awr报告分析—WORKLOAD REPOSITORY report
  8. 串的复制——串传送指令MOVSB和方向标志位DF和CLD和REP
  9. 利用opencv中的级联分类器进行人脸检測-opencv学习(1)
  10. 3.关于运动控制芯片
  11. mybatis看这一篇就够了,简单全面一发入魂
  12. 怎么用万用表检测场效应管的好坏?
  13. Redux 的基本使用
  14. 使用Ubuntu 20.0.4编译Elasticfusion
  15. 《Buildozer打包实战指南》实战打包beautifulsoup (bs4)
  16. 有哪些可以替代NOTION的笔记软件?
  17. 金山打字通WINDOWS XP及WINDOWS 2003下安装后普通用户无法使用的问题
  18. GridView控件只让某列可以编辑,并在后台获取值的方法
  19. 这个PDF压缩软件值得收藏
  20. 袋鼠云flinksql连接器构建

热门文章

  1. 训练数据集时为何要先加载预训练模型作为初始化,这样做有何好处?
  2. Python 中的模块简介及应用
  3. 静态网页和动态网页的区别(转载)
  4. Gazebo添加模型并控制模型运动作为动态障碍物(Ubuntu16.04, Gazebo7.16),附录动态链接库和静态链接库区别
  5. Elasticsearch 100问(下)
  6. 运城学院数学与计算机系,运城学院数学与信息技术学院.doc
  7. 「后端小伙伴来学前端了」关于 Vue中的 props
  8. HTML---百度新闻轮播图--定位练习
  9. rocketmq发送第一条消息(三)
  10. 快捷键截屏_关于Mac电脑截图,你必须要知道的几个快捷键!(错过会后悔哦)...