活动安排问题
原创
©著作权归作者所有:来自51CTO博客作者LibreCoder的原创作品,请联系作者获取转载授权,否则将追究法律责任
算法标签 贪心
题目

思路
代码
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
typedef pair<int,int> PII;
vector<PII>PIIArr;
int n;
const int N=100+10;
int AnsArr[N];
void slove(){
sort(PIIArr.begin(),PIIArr.end(),[&](PII a,PII b){return a.second<b.second;});
int preEnd=0;
for(int i=0;i<PIIArr.size();i++){
if(PIIArr[i].first>=preEnd){
AnsArr[i]=1;
preEnd = PIIArr[i].second;
}
}
return ;
}
int main(){
cin>>n;
int tmpN_A,tmpN_B;
while(n--)cin>>tmpN_A>>tmpN_B,PIIArr.push_back({tmpN_A,tmpN_B});
slove();
int sumN=0;
for(int i=0;i<N;i++)if(AnsArr[i]==1){sumN++;cout<<i+1<<" ";}
cout<<endl<<sumN;
return 0;
}
输出
