hdu2037

题目的输入,按结束时间从早到晚排序,上一行为start开始,下一行为end结束时间,cur用来保存下一个start比较的end。
在这里插入图片

#include
#include
using namespace std;
struct Node{
     
    int start;
    int end;
}node[100];

int cmp(struct Node a, struct Node b) {
     
    return a.end<b.end;
}
int main()
{
     
    int n;
    while(scanf("%d",&n)!=EOF && n!=0) {
     
        for(int i=0;i<n;i++) {
     
            scanf("%d%d",&node[i].start,&node[i].end);
        }
        sort(node,node+n,cmp);
        int sum=1;
        int cur=0;
        for(int i=1;i<n;i++) {
             
                if(node[i].start>=node[cur].end) {
     
                    sum++;
                    cur = i;
                }
        }
        printf("%d\n",sum);
    }   
    return 0; 
}

你可能感兴趣的:(hduOJ刷题)