题解 | #活动安排#
活动安排
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; }#贪心算法#