问题描述:
解题分析:
该类问题属于区间调度的问题,要重视活动结束的时间,只有这个活动早结束,才能尽快的安排下一个活动,所以要重点注意活动结束时间
具体做法:创建一个包含开始时间与结束时间的结构体数组,将输入数据后的结构体数组按照结束时间升序排列,首先设置一个时间刺客,令其等于结束时间最早的活动的结束时间,此时活动数置为1;后开始遍历:将结构体数组从第一个开始,拿每一个活动的开始时间与当前的时间刺客比较,如果大于等于时间刺客(说明该活动开始时间在上一个活动的结束时间之后),活动数加1,令时间刺客更新为当前活动的结束时间,后依次遍历比较即可,直至最后一个活动;
代码实现:
//活动安排
#include <bits/stdc++.h>
using namespace std;
const int vmax = 1010;
typedef struct cao{
int s;
int e;
}cao;
cao tmd[vmax];
bool cnm(cao x1,cao x2)
{
if(x1