南 891 找点

来源:互联网 发布:pr制作淘宝主图视频 编辑:程序博客网 时间:2024/05/02 00:18
/*找点时间限制:2000 ms  |  内存限制:65535 KB难度:2描述上数学课时,老师给了LYH一些闭区间,让他取尽量少的点,使得每个闭区间内至少有一个点。但是这几天LYH太忙了,你们帮帮他吗?输入多组测试数据。每组数据先输入一个N,表示有N个闭区间(N≤100)。接下来N行,每行输入两个数a,b(0≤a≤b≤100),表示区间的两个端点。输出输出一个整数,表示最少需要找几个点。样例输入41 52 41 42 331 23 45 612 2样例输出131*///改自杭电"今年暑假不AC" #include<stdio.h>#include<iostream>#include<algorithm>#define maxn 100000using namespace std;struct pre{int x;int y;}num[maxn];bool cmp(pre a,pre b){if(a.y==b.y)   return a.x<b.x;return a.y<b.y;}int main(){int n,i,j,sum;while(scanf("%d",&n)!=EOF){if(n==0)   break;for(i=0;i<n;i++){scanf("%d%d",&num[i].x,&num[i].y);}sort(num,num+n,cmp);sum=1; j=0;for(i=0;i<n;i++){if(num[i].x>num[j].y)    {sum++;j=i;}}printf("%d\n",sum);}return 0;}

0 0
原创粉丝点击