这是一道很经典的贪心算法题目,不再赘述
/*今年暑假不AC
贪心策略:选择结束最早的
*/
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
const int N=100;
struct caorui
{
int begin;
int end;
}node[N];
int compare(caorui a,caorui b)
{
return a.end<b.end;
}
int main()
{
int total;
cin>>total;
for(int i=0;i<total;++i)
{
cin>>node[i].begin>>node[i].end;
}
sort(node,node+total,compare);
int pre=0,sum=1;
for(int i=1;i<total;i++)
{
if(node[i].begin>=node[pre].end)
{
++sum;
pre=i;
}
}
cout<<"最多能看"<<sum<<"个节目."<<endl;
return 0;
}