#1269. 「一本通 1.1 例 1」活动安排

「一本通 1.1 例 1」活动安排

题目描述

设有 nn 个活动的集合 E={1,2,,n}E=\{1,2,\dots,n\},其中每个活动都要求使用同一资源(如演讲会场),而在同一时间内只有一个活动能使用这一资源。

每个活动 ii 都有一个要求使用该资源的起始时间 sis_i 和一个结束时间 fif_i,且 si<fis_i < f_i。如果选择了活动 ii,则它在时间区间 [si,fi)[s_i, f_i) 内占用资源。

若区间 [si,fi)[s_i, f_i) 与区间 [sj,fj)[s_j, f_j) 不相交,则称活动 ii 与活动 jj 是相容的。也就是说,当 fisjf_i \le s_jfjsif_j \le s_i 时,活动 ii 与活动 jj 相容。

请选择出一个由互相兼容的活动组成的最大集合,并输出该集合中包含的活动个数。

输入格式

第一行一个整数 nn,表示活动的个数。

接下来的 nn 行,每行两个整数 sis_ifif_i,分别表示第 ii 个活动的起始时间和结束时间。

输出格式

输出互相兼容的最大活动个数。

样例

4
1 3
2 5
4 6
3 8
2

样例解释

四个活动的时间区间分别为 [1,3)[1,3)[2,5)[2,5)[4,6)[4,6)[3,8)[3,8)。一种最优方案是选择活动 11131\sim 3)和活动 33464\sim 6),它们互不冲突且总数为 22。没有选择 33 个活动的可行方案,因此最大活动数为 22

数据范围与提示

  • 1n10001 \le n \le 1000

来源

一本通 1.1 例 1