CodeForces 845C Two TVs (模拟)
来源:互联网 发布:应变数据采集仪 编辑:程序博客网 时间:2024/05/18 08:53
Polycarp is a great fan of television.
He wrote down all the TV programs he is interested in for today. His list contains n shows, i-th of them starts at moment li and ends at moment ri.
Polycarp owns two TVs. He can watch two different shows simultaneously with two TVs but he can only watch one show at any given moment on a single TV. If one show ends at the same moment some other show starts then you can't watch them on a single TV.
Polycarp wants to check out all n shows. Are two TVs enough to do so?
The first line contains one integer n (1 ≤ n ≤ 2·105) — the number of shows.
Each of the next n lines contains two integers li and ri (0 ≤ li < ri ≤ 109) — starting and ending time of i-th show.
If Polycarp is able to check out all the shows using only two TVs then print "YES" (without quotes). Otherwise, print "NO" (without quotes).
31 22 34 5
YES
41 22 32 31 2
NO
一开始想错了,没有注意到这是两台电脑而只是看到不能在同一台电脑上看到两个节目的这个条件忽略了这是两台电脑。
思路:记录两台电视的使用情况以及当前播放节目的结束时间,然后模拟一下就可以了。
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;struct node{ int l,r;}q[300000];bool cmp(node a,node b){ if(a.l==b.l) return a.r<b.r; return a.l<b.l;}struct mach{ int flag,r;}tv[2];int main(){ int n; while(~scanf("%d",&n)) { tv[0].flag=0,tv[1].flag=0; int f=1; for(int i=0;i<n;i++) scanf("%d%d",&q[i].l,&q[i].r); sort(q,q+n,cmp); for(int i=0;i<n;i++) { int time=q[i].l; int flag=0; if(!tv[0].flag) { tv[0].flag=1; tv[0].r=q[i].r; flag=1; } else if(tv[0].flag) { if(time>tv[0].r) { tv[0].r=q[i].r; flag=1; } } if(!tv[1].flag&&!flag) { tv[1].flag=1; tv[1].r=q[i].r; flag=1; } else if(tv[1].flag&&!flag) { if(time>tv[1].r) { tv[1].r=q[i].r; flag=1; } else { f=0; break; } } if(!flag) { f=0; break; } } if(f) printf("YES\n"); else printf("NO\n"); } return 0;}
- CodeForces 845C Two TVs (模拟)
- codeforces 845C Two TVs
- Codeforces 845 C Two TVs
- Codeforces 845C Two TVs【思维】水题
- Codeforces-845C:Two TVs(思维)
- Educational Codeforces Round 27 C. Two TVs(模拟)
- Codeforces 845 C. Two TVs 思路:简单贪心算法
- cfC. Two TVs
- CodeForces 382C【模拟】
- Codeforces 749C【模拟】
- CodeForces 118C 【模拟】
- Codeforces 863C 模拟
- codeforces 864C 模拟
- 模拟-Codeforces 777C
- CodeForces 550A Two Substrings(模拟)
- CodeForces 762C Two strings
- 【Codeforces 837C. Two Seals】
- 二进制 模拟 codeforces 485C
- iOS 同一个工程下 使用多target来构建大量相似App
- 双飞翼布局 移动端header常用布局
- C#
- 原生PDF与扫描PDF转换教程
- NKOJ 3540 方块游戏(dp)
- CodeForces 845C Two TVs (模拟)
- 计算机开机BIOS初始化与MBR操作系统引导详解
- 对jquery-gantt的应用
- poj_1611_并查集 题解记录
- kylin安装及配置
- Mybatis --- 映射文件、参数处理、参数值的获取、select元素
- rabbitmq队列模式
- 网页设计排版中哪些元素最重要?
- 【机器学习】Andrew Ng——02单变量线性回归