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