hdu2037(今年暑假不AC)
来源:互联网 发布:php工程师收入 编辑:程序博客网 时间:2024/05/18 12:28
贪心,先把节目结束时间按升序排序,第一个节目肯定有,从第二个节目开始,如果其结束时间大于等于前一个节目的开始时间,则计数。注意:前一个节目 是计数的节目,而不是原始排好序的节目。
#include<iostream>#include<stdio.h>using namespace std;struct jiemu{ int start,end; }p[110];int cmp(const void *p1,const void *p2){ return (*(jiemu*)p2).end<(*(jiemu*)p1).end?1:-1;}int main(){ int n,num; while(cin>>n&&n) { for(int i=0;i<n;i++) cin>>p[i].start>>p[i].end; num=1; qsort(p,n,sizeof(p[0]),cmp); /* for(int i=0;i<n;i++) cout<<p[i].start<<" "<<p[i].end<<endl; */ int t=p[0].end; for(int i=0;i<n-1;i++) if(p[i+1].start>=t) { t=p[i+1].end; num++; } cout<<num<<endl; } return 0;}