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, ...
随机推荐
- git 工作流介绍
GIT Git工作流你可以理解为工作中团队成员遵守的一种代码管理方案,在Git中有以下几种工作流方案作为方案指导: 集中式工作流 功能开发工作流 Gitflow工作流 Forking工作流 下面针对性 ...
- docfx (一)
什么是docFX? DocFX 是一个基于.NET的API文档生成器,当前支持 C# 和 VB.它可以通过你的代码中的三斜杠注释生成 API 参考文档.同样也支持你使用 Markdown 文件创建一些 ...
- java继承和多态举例
public class Test1 { public static void main(String[] args) { System.out.println(new Dog().name);//狗 ...
- CSS display使用
.今天我们来分析一下display的一些用法,display样式在我们整个CSS设置中,非常重要,掌握好display,才能有效的解决CSS布局的问题,在理解display之前,我们先了解两个概念:块 ...
- 算法学习:并行化初体验_JAVA实现并行化归并算法
这个系列包括算法导论学习过程的记录. 最初学习归并算法,对不会使其具体跑在不同的核上报有深深地怨念,刚好算倒重温了这个算法,闲来无事,利用java的thread来体验一下并行归并算法.理论上开的thr ...
- Java Object中的equals和hashCode
Java的Object对象中有两个方法比较有意思,一个是equals(),一个是hashCode(),那么这两个的作用有些同学可能还不是很清楚,那么同学们现在就进一步了解一下吧. 下面咱们写一个简单的 ...
- sql 比较不同行不同字段值
需求:在一个表table中有两三列,分别是"货物名称"."进货时间"."出货时间"."存放天数",货物名称和两种&quo ...
- C# 文件的上传和下载
本文主要介绍一下,在APS.NET中文件的简单上传于下载,上传是将文件上传到服务器的指定目录下,下载是从存入数据库中的路径,从服务器上下载. 1.上传文件 (1)页面代码 <table alig ...
- Sublime Text 安装插件
Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等.还可自定义键绑定,菜单和工具栏.Sublime Text 的主要功能包括:拼写检查,书签,完整的 ...
- 转:【Java集合源码剖析】LinkedHashmap源码剖析
转载请注明出处:http://blog.csdn.net/ns_code/article/details/37867985 前言:有网友建议分析下LinkedHashMap的源码,于是花了一晚上时 ...