题解 | #活动安排#
活动安排
https://www.nowcoder.com/practice/16d971e9e42e4f3b9b1e2b8794796a43
#include <bits/stdc++.h>
using namespace std;
struct act{
int start;
int end;
};
int Cmp(act a,act b){
return a.end<b.end;
}
int max_act(vector<act>& acts){
int n=1;
int pre=acts[0].end;
for(int i=1;i<acts.size();i++){
if(acts[i].start>=pre)
{
n++;
pre=acts[i].end;
}
}
return n;
}
int main()
{
int n;
cin>>n;
vector<act> acts(n);
for(int i=0;i<n;i++)
{
cin>>acts[i].start>>acts[i].end;
}
sort(acts.begin(),acts.end(),Cmp);
cout<<max_act(acts);
return 0;
}
#贪心算法#
查看9道真题和解析