算法标签 贪心

题目

活动安排问题_i++

思路

代码

#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;
}

输出

活动安排问题_i++_02