#include <iostream> #include <algorithm> using namespace std; //定义活动结构体,属性为起始时间和结束时间 struct act{ int begin; int end; }; int compare(act const&a,act const &b){ if(a.end>b.end){ return 0; }else return 1; } int Greedy(act a[],int n){ int i=1; int num=1; for(int j=2;j<n;j++){ if(a[j].begin>=a[i].end){ i=j; num++; } } return num; } int main() { cout<<"请输入活动总个数:"<<endl; int n; cin>>n; act a[n+1]; cout<<"请依次输入活动起始时间和结束时间"<<endl; for(int i=0;i<n;i++){ cin>>a[i].begin; cin>>a[i].end; } sort(a,a+n,compare); int num=Greedy(a,n); cout<<num<<endl; return 0; }
贪心算法 活动规划问题
最新推荐文章于 2022-02-23 14:00:11 发布