有若干个活动,第i个开始时间和结束时间是[Si,fi),只有一个教室,活动之间不能交叠,求最多安排多少个活动?

输入

第1行:1个数N,线段的数量(2 <= N <= 10000)
第2 - N + 1行:每行2个数,线段的起点和终点(-10^9 <= S,E <= 10^9)
输出
 
输出最多可以选择的线段数量。
 
输入示例

3
1 5
2 3
3 6
输出示例

2
 

我们可以知道先安排最早结束的活动可以更多的安排活动。首先就是将所有的活动结束时间按先后顺序给排序;然后以结束时间为线索一路检索下去,判断开始时间是否早于前面一次活动的结束时间。这里可以用结构体或者两个数组来把一个活动的开始时间和结束时间联系起来。

 #include<stdio.h>
#include<iostream>
#define max 10001
using namespace std;
int main(){
int n,i,j,temps,tempo;
int start[max],over[max];
while(scanf("%d",&n)!=EOF){
int sum=,t=-;
for(i=;i<n;i++){
cin>>start[i]>>over[i];
}
for(i=;i<n;i++)
for(j=i;j<n;j++){
if(over[i]>over[j]){
tempo=over[i];
over[i]=over[j];
over[j]=tempo;
temps=start[i];
start[i]=start[j];
start[j]=temps;
}
}
for(i=;i<n;i++){
if(t<=start[i]){
t=over[i];
sum+=;
}
}
printf("%d\n",sum);
}
return ;
}

//原本我还考虑了活动时间不能为负数的情况,但是在提交时系统给出的数据中把负数也给算了进去。。。。。

最新文章

  1. 【原】AFNetworking源码阅读(五)
  2. ionic之$ionicGesture手势(大坑)
  3. 限制input只能输入金额(类似:100.00|100.9|100)
  4. shell 除法 小数点
  5. MongoDB Shard部署及Tag的使用
  6. XDU 1161 - 科协的数字游戏II
  7. OAuth2.0协议
  8. QEvent大全,有中文解释
  9. modifytime是一个神奇的column name----这边文章是错的totally,因为我的实验不彻底。timestamp属性很神奇,头一个timestamp,会自动的成DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
  10. hdu 3400 Line belt
  11. COB(Chip On Board) 工艺技术
  12. oschina娱乐游戏
  13. 5种IE hasLayoutt的属性及其值
  14. 初学 Python(十一)——切片
  15. The first week CorelDRAW 课总结:
  16. Mybatis实体类属性与数据库字段不一致解决办法
  17. WPF软件开发系统之二——水环境检测Surface触摸屏软件开发
  18. GitHub上高质量项目
  19. prototype的一些事
  20. ajax无刷新技术

热门文章

  1. 给定表达式[x/2] + y + x * y, 其中x,y都是正整数。
  2. js上传文件获取客户端地址
  3. Python built-in函数的源码实现定位
  4. 文件I/O(不带缓冲)之open函数
  5. Advanced Configuration Tricks
  6. 根据ip地址从第三方接口获取详细的地理位置
  7. mysql 按月按周统计
  8. algorithms中计算时间的渐近表示
  9. uiautomator做自动化的过程
  10. 关于php的两个符号@和$