对结束时间从小到大排序,一直选下一个不冲突的节目
详细解说:http://blog.sina.com.cn/s/blog_68f111c80100kk1f.html
//贪心
#include<iostream>
#include<algorithm>
#define Max 105
using namespace std;
struct A
{
int l, r;
}a[Max];
bool cmp(A c, A d)
{
if(c.r == d.r )
return c.l < d.l;
else
return c.r < d.r;
}
int main()
{
int n;
while(scanf("%d", &n) != EOF && n)
{
int i, j;
for( i=0; i < n; i++ )
scanf("%d%d", &a[i].l, &a[i].r);
sort(a, a+n, cmp);
int count = 0;
for( i=0, j=1; i < n; j++ )
{
if(a[i].r <= a[j].l)
count++, i = j;
}
printf("%d\n", count);
}
return 0;
}