题目:
某跨国公司总裁正分身无术,为一大堆会议时间表焦头烂额,希望高级钟点秘书能做出合理的安排,能在有限的时间内召开更多的会议。
提示:1. 会议有开始时间,终止时间
2.输入:会议数目;每个会议的序号,开始时间,终止时间
输出:安排会议的序号,最多参加的会议数
代码:
#include<iostream>
using namespace std;
#include<algorithm>
struct meet
{
int beg;
int end;
int num;
}s[1000];
bool cmp(meet a,meet b)
{
if(a.end==b.end)
{
return a.beg>b.beg;
}
else
{
return a.end<b.end;
}
}
int main()
{
int n;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
cin>>s[i].num>>s[i].beg>>s[i].end;
}
sort(s,s+n,cmp);
int ans=1;int last=s[0].end;
cout<<s[0].num<<endl;
for(int i=1;i<n;i++)
{
if(s[i].beg>last)
{
ans++;
last=s[i].end;
cout<<s[i].num<<endl;
}
}
cout<<ans<<"个";
}
实例:
输入:
输出: