南阳 891 找点

来源:互联网 发布:c语言入门什么书好 编辑:程序博客网 时间:2024/05/01 21:37

区间选点问题

#include<stdio.h>#include<string.h>#include<stdlib.h>struct In{int l,r;}num[110]; int cmp(const void *a,const void *b){In *c=(In *)a;In *d=(In *)b;//右端点按从小到大排序 if(c->r!=d->r) return c->r-d->r;/*if(c->l!=d->l) return c->l-d->l;return c->r-d->r;  左端点从小到大排序  */}int main(){int n,m,i,j,s;while(~scanf("%d",&n)){memset(num,0,sizeof(num));for(i=0;i<n;i++){scanf("%d%d",&num[i].l,&num[i].r);}qsort(num,n,sizeof(num[0]),cmp);int max=num[0].r;for(s=i=1;i<n;i++){if(num[i].l>max){s++;max=num[i].r;}}/*for(s=i=1;i<n;i++){if(num[i].l>max){s++;max=num[i].r;}else if(num[i].r<max){max=num[i].r;}}*/printf("%d\n",s);}return 0;}


0 0
原创粉丝点击