问题标题: 酷町堂:2624

0
0
已解决
陈泉宏
陈泉宏
高级守护
高级守护
2624   电视录播

题目描述 Description
现在电视有好多种综艺啊,有跑男还有快本等等。农民约翰想录下尽可能多的电视节目在闲暇时间观看。电视时间表由N个不同的节目 (1 ≤ n ≤ 150),每个具有指定的开始时间和结束时间。约翰有一个双调谐器录音机,可以同时录制两个节目。 请帮助他确定他能录制的节目的最大数量。

输入描述 Input Description
第一行,一个整数,n
接下来n行,每行两个整数,si ei,分别表示这个节目的开始时间和结束时间

输出描述 Output Description
最多可以录的节目数

样例输入 Sample Input
6
0 3
6 7
3 10
1 5
2 8
1 9

样例输出 Sample Output
4

 


0
已采纳
王雪阳
王雪阳
高级守护
高级守护

核心代码:

定义 n;
    输入n;
    循环(int i=1;i<=n;i++)
        cin>>a[i].st>>a[i].end;
    排序(a+1,a+1+n,cmp);
    定义 x=-1,ans=0,x2=-1;
    循环(int i=1;i<=n;i++)
    {
        判断(a[i].st>=x)
        {
            ans++;
            x=a[i].end;
        }
        否则判断(a[i].st>=x2)
        {
            ans++;
            x2=a[i].end;
        }
        判断(x<x2) 交换(x,x2);
    }
    输出ans;
    return 0;

结构体:

struct js{
    int st,end;
}a[210];

 cmp自己写

0
0
陈泉宏
陈泉宏
高级守护
高级守护

看在同学的份上,我就不举报你了

0
我要回答