Codeforces 845 C. Two TVs 思路:简单贪心算法
题目:

题目原文链接:http://codeforces.com/contest/845/problem/C
题意:现在我们有一个电视清单,有两个电视,电视清单上有每一个节目的开始时间和结束时间。
电视不能接连不间断的播放,例如TV1播放完1-2点的节目后不能接着播放2-3点的电视,除非在TV2上播放,如果TV2也正在播放则不能播放完清单。
思路:
1.对清单排序,让开始时间早的靠前,如果开始时间相同,结束时间早的靠前。
2.如果TV1已经结束。就把这一个节目的结束时间赋给TV1,然后看下一个节目。
3.如果TV1尚未结束,TV2已经结束。就把这一个节目的结束时间赋给TV2,然后看下一个节目。
4.如果TV1、TV2都尚未结束。就输出NO,不再看下一个节目。
代码:
#include <bits\stdc++.h>
using namespace std; struct node{
int l;int r;
}a[]; bool cmp(node a,node b){
if(a.l == b.l) return a.r < b.r;
return a.l < b.l;
} int main(){
int n;
cin >> n;
for(int i = ;i < n; i++){
cin >> a[i].l >> a[i].r;
}
sort(a,a+n,cmp); //对清单排序,让开始时间早的靠前,如果开始时间相同,结束时间早的靠前。 int r1 = -,r2 = -; //初始化上一个节目结束的时间
for(int i = ;i < n; i++){
if(r1 < a[i].l){ //如果TV1已经结束。就把这一个节目的结束时间赋给TV1,然后看下一个节目。
r1 = a[i].r;
continue;
}
if(r2 < a[i].l){ //如果TV1尚未结束,TV2已经结束。就把这一个节目的结束时间赋给TV2,然后看下一个节目。
r2 = a[i].r;
continue;
}
cout << "NO" << endl;//如果TV1、TV2都尚未结束。就输出NO,不再看下一个节目。
return ;
} cout << "YES" << endl;
return ;
}
Codeforces 845 C. Two TVs 思路:简单贪心算法的更多相关文章
- ACM_ICPC hdu-2111(简单贪心算法)
一道非常简单的贪心算法,但是要注意输入的价值是单位体积的价值,并不是这个物品的总价值!#include <iostream> #include <stdio.h> #inclu ...
- Codeforces 845C. Two TVs 思路:简单贪心算法
题目: 题目原文链接:http://codeforces.com/contest/845/problem/C 题意:现在我们有一个电视清单,有两个电视,电视清单上有每一个节目的开始时间和结束时间. 电 ...
- Codeforces 845 A. Chess Tourney 思路:简单逻辑题
题目: 题意:输入一个整数n,接着输入2*n个数字,代表2*n个选手的实力. 实力值大的选手可以赢实力值小的选手,实力值相同则都有可能赢. 叫你把这2*n个选手分成2个有n个选手的队伍. ...
- Codeforces 754A Lesha and array splitting(简单贪心)
A. Lesha and array splitting time limit per test:2 seconds memory limit per test:256 megabytes input ...
- CodeForces - 794C:Naming Company(博弈&简单贪心)
Oleg the client and Igor the analyst are good friends. However, sometimes they argue over little thi ...
- Codeforces 845 C Two TVs
参考:https://blog.csdn.net/xjh_shin/article/details/77491693 #include <iostream> #include <cs ...
- LeetCode解题记录(贪心算法)(一)
1. 前言 目前得到一本不错的算法书籍,页数不多,挺符合我的需要,于是正好借这个机会来好好的系统的刷一下算法题,一来呢,是可以给部分同学提供解题思路,和一些自己的思考,二来呢,我也可以在需要复习的时候 ...
- HDU 4726 Kia's Calculation (贪心算法)
Kia's Calculation Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...
- 【贪心算法】POJ-1328 区间问题
一.题目 Description Assume the coasting is an infinite straight line. Land is in one side of coasting, ...
随机推荐
- spi master接口的fpga实现
前言 当你器件的引脚贼少的时候,需要主机和从机通信,spi就派上了用场,它可以一对多,但只是片选到的从机能和主机通信,其他的挂机. spi:serial peripheral interface 串行 ...
- CVTE前端笔试编程题
这些题目是做完笔试之后,在别的地方找到的,现在附上. 1.(1)这题考察的怎么把参数转换为数组,然后再截取你想要的位数. function C(){ var a_args=Array.prototyp ...
- copy和mutableCopy都是浅拷贝!!!------你被骗了很多年
所有系统容器类的copy或mutableCopy方法,都是浅拷贝!!! (ps:什么是容器?比如NSArray,NSMutableArray,NSDictionary,NSMutableDiction ...
- 交换基本数据类型的方法swap,并影响到主方法
不知道朋友在哪里看到的问题,qq来问我,题目是:在不修改主方法的前提下使用一个方法交换两个int的值,方法如下: public static void main(String[] args) { In ...
- 浅谈一下Java String
相信很多同学使用Java String, Java中的String方法,但是对其中的原理可能有些模糊,那么咱们就针对这块内容进行展开,让更多的同学理解和知道. public final class S ...
- 分而治之(Work Breakdown Structure, WBS)
不知道大家有没有和我一样的情况,就是想写一篇博客,不知道从何写起,如何组织语言,如何安排这篇博客的要交待的事情的前因后果:如果在写作过程中被打断,又不知道如何重新拾起键盘,从哪里写起."就如 ...
- 【Alpha阶段】第四次 Scrum Meeting
每日任务 1.本次会议为第 四次 Meeting会议: 2.本次会议在上午09:35,大课间休息时间在禹州楼召开,召开本次会议为20分钟,分析完善接下来的任务: 一.今日站立式会议照片 二.每个人的工 ...
- Java学习6——基本数据类型及其转换
Java常量: Java的常量值用字符串表示,区分不同的数据类型 整型常量123.浮点型常量3.14.字符常量'a'.逻辑常量true.字符串常量"helloworld". ps: ...
- 201521123056 《Java程序设计》第5周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 答: 2. 书面作业 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译 ...
- 201521123117 《Java程序设计》第4周学习总结
1. 本周学习总结 Q1.1 尝试使用思维导图总结有关继承的知识点. Q1.2 使用常规方法总结其他上课内容. 答:控制可见性的4个访问修饰符private -- 仅对本类可见public -- 对所 ...