码蹄集OJ-活动安排
#include<bits/stdc++.h>
using namespace std;
struct MOOE
{int s,e;
};
bool compare(const MOOE&a,const MOOE&b)
{return a.e<b.e;
}
int main( )
{int n;cin>>n;vector<MOOE>a(n);for(int i=0;i<n;i++){cin>>a[i].s>>a[i].e;}sort(a.begin(),a.end(),compare);int t=0;int result=0;for(const MOOE&v:a){if(v.s>=t){result++;t=v.e;}}cout<<result<<endl;return 0;
}
要想安排最多的活动,就要让结束时间越早越好而且还能接上后面的活动。
定义结构体变量存储两个成员,一个是开始时间,一个是结束时间。定义一个结构体类型的数组,让这个数组按结束时间由小到大的顺序排序,遍历整个数组,如果遍历到的数组值大于上一次遍历数组的结束时间,结果加1。