Codeforces 845 C. Two TVs 思路:简单贪心算法
2017-09-01 14:29
363 查看
题目:
题目原文链接: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,不再看下一个节目。
代码:
题目原文链接: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[200005]; 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 = 0;i < n; i++){ cin >> a[i].l >> a[i].r; } sort(a,a+n,cmp); //对清单排序,让开始时间早的靠前,如果开始时间相同,结束时间早的靠前。 int r1 = -1,r2 = -1; //初始化上一个节目结束的时间 for(int i = 0;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 0; } cout << "YES" << endl; return 0; }
相关文章推荐
- Codeforces 845 A. Chess Tourney 思路:简单逻辑题
- 看个人思路吧,清晰的话就简单 CodeForces 271A - Beautiful Year
- Codeforces_841_B Godsend(思路|简单博弈)
- Codeforces 845 C. Two TVs (模拟)
- ASP.NET MVC 4 插件化架构简单实现-思路篇
- 抽屉菜单简单思路
- CodeForces - 849B Tell Your World(简单题)
- Codeforces 552C Vanya and Scales(思路)
- 关于仿百度搜索框的简单思路【2017-12-25】
- 算法训练 最大最小公倍数 简单贪心算法
- Codeforces 229B Planets 简单最短路
- JAVA简单实例-数据库设计思路引导(2)
- 百度地图SDK---实现简单定位功能思路解析(采用BaiduMapsAPIDemo代码)
- 简单思路理解处理机调度
- CodeForces - 651B 一个简单的思考题,暴力也能过
- CodeForces 606C--Sorting Railway Cars,思路题~~~
- MFC 自绘标题栏和tab control简单思路
- codeforces-757-B Bash's Big Day(简单题)
- Codeforces 371C Hamburgers 简单二分
- CodeForces - 868BC Qualification Rounds(思路)