Pro.ID1916 Title算法设计例题:活动安排问题(贪心) Title链接http://10.20.2.8/oj/exercise/problem?problem_id=1916 AC638 Submit2783 Ratio22.92% 时间&空间限制描述设有n个活动的集合E={1, 2, ..., n},其中,每个活动都要求使用同一资源,如演讲会场等,而在同一时间内只有一个活动能使用这一资源。每个活动i 都有一个要求使用该资源的起始时间 si 和一个结束时间 fi ,且si < fi。如果选择了活动i,则它在半开时间区间[si, fi)内占用资源。若区间[si, fi)与区间[sj, fj)不相交,则称活动i与活动j是相容的。也就是说,当 si ≥ fj 或 sj ≥ fi 时,活动 i 与活动 j 相容。活动安排问题就是要在所给的活动集合中选出最大的相容活动子集合。 输入输入的第一个为测试样例的个数T,接下来有T个测试样例。 每个测试样例的第一行是一个整数n( n ≤ 1000 ),表示有n个活动。 接下来n行,每行两个整数 si 和 fi 表示第 i 个活动的起始时间和结束时间。 输出Description 设有n个活动的集合E={1, 2, ..., n},其中,每个活动都要求使用同一资源,如演讲会场等,而在同一时间内只有一个活动能使用这一资源。每个活动i 都有一个要求使用该资源的起始时间 si 和一个结束时间 fi ,且si < fi。如果选择了活动i,则它在半开时间区间[si, fi)内占用资源。若区间[si, fi)与区间[sj, fj)不相交,则称活动i与活动j是相容的。也就是说,当 si ≥ fj 或 sj ≥ fi 时,活动 i 与活动 j 相容。活动安排问题就是要在所给的活动集合中选出最大的相容活动子集合。 Input 输入的第一个为测试样例的个数T,接下来有T个测试样例。 每个测试样例的第一行是一个整数n( n ≤ 1000 ),表示有n个活动。 接下来n行,每行两个整数 si 和 fi 表示第 i 个活动的起始时间和结束时间。 Output 对应每个测试样例输出一行,格式为"Case #: D",其中'#'表示第几个测试样例(从1开始计),D为最大的相容活动子集合的活动数量。 Sample Input 1 Sample Output Case 1: 4 Author 样例输入1 样例输出Case 1: 4 提示作者 |