新闻发布会"/>
Problem F: 新闻发布会
Problem F: 新闻发布会
Description
华为芯片和操作系统的消息不胫而走,很多新闻媒体要来采访。低调的华为不想做过多宣传,但无奈媒体要求太强烈,只好让一些CEO 和工程师们根据他们的时间出来接受采访。现在告诉你这些工程师们空余的可以接受采访的时间,你看最多可以安排多少个工程师接受采访?由于记者太热情了,每个接受采访工程师空余的时间要用足,当然每次采访只能安排1个工程师,不能同时安排多个。空余时间有重叠的工程师最多只能安排一个。
Input
多组测试数据,每组先输入1个整数,表示所有可以接受采访的人数n( 1<= n <=20)
然后是2行,第一行n个数,分别每个工程师可以接受采访的时间(是个整数)
第二行是n个数,是每个工程师可以接受采访的结束时间
Output
每组输出1个数字,表示最多可以接受采访的工程师人数
Sample Input
5
1 3 2 4 5
5 4 3 6 7
Sample Output
3
HINT
样例说明
第一个可以采访的是 2->3,第二个可以接受采访的是3->4,第三个可以接受采访的是4->6
代码:
#include<bits/stdc++.h>
using namespace std;
struct sj
{int beg;int end;
}s[100000];
int cmp(const sj &a,const sj &b)
{return a.end<b.end;
}
int main()
{int n,i,j;while(scanf("%d",&n)!=EOF){for(i=1; i<=n; i++)cin>>s[i].beg;for(i=1; i<=n; i++){cin>>s[i].end;}sort(s+1,s+n+1,cmp);int ans=1,t=s[1].end;for(i=2; i<=n; i++){if(s[i].beg>=t){t=s[i].end;ans++;}}cout<<ans<<endl;}
}
写在最后:感觉题目怪怪的,一开始选择排序和不用结构体就是过不去。。。。
更多推荐
Problem F: 新闻发布会
发布评论