#include<bits/stdc++.h>
using namespace std;
struct MOOE
{
int s,e;
};
bool compare(const MOOE&a,const MOOE&b)
{
return a.e<b.e;
}
int main( )
{
int n;
cin>>n;
vector<MOOE>a(n);
for(int i=0;i<n;i++)
{
cin>>a[i].s>>a[i].e;
}
sort(a.begin(),a.end(),compare);
int t=0;
int result=0;
for(const MOOE&v:a)
{
if(v.s>=t)
{
result++;
t=v.e;
}
}
cout<<result<<endl;
return 0;
}
要想安排最多的活动,就要让结束时间越早越好而且还能接上后面的活动。
定义结构体变量存储两个成员,一个是开始时间,一个是结束时间。定义一个结构体类型的数组,让这个数组按结束时间由小到大的顺序排序,遍历整个数组,如果遍历到的数组值大于上一次遍历数组的结束时间,结果加1。