描述
大学生电影节在北大举办! 这天,在北大各地放了多部电影,给定每部电影的放映时间区间,区间重叠的电影不可能同时看(端点可以重合),问李雷最多可以看多少部电影。
输入
多组数据。每组数据开头是n(n<=100),表示共n场电影。
接下来n行,每行两个整数(0到1000之间),表示一场电影的放映区间
n=0则数据结束
输出
对每组数据输出最多能看几部电影
样例输入
8 3 4 0 7 3 8 15 19 15 20 10 15 8 18 6 12 0
样例输出
3
原题的链接在此OpenJudge - 4151:电影节
这道题,由于本人没有想到可以用贪心算法,所以一开始就用动态规划尝试的。如果你能发现局部最优解和全局最优解是一致的,可以直接思考贪心算法,这应该更简单。
思路如下:
动态规划通常通过思考当前问题和子问题的关系来入手。假设时刻n(n从0到1000),能看电影的最多场次为,那么