hdu2037 今年暑假不AC

来源:互联网 发布:数据分析系统建设方案 编辑:程序博客网 时间:2024/05/17 03:30

数轴上有n个区间,选出最多的区间,使得这些区间不互相重叠。


将所有区间按右端点坐标从小到大排序,顺序处理每个区间。如果它与当前已选的所有区间都没有重叠,则选择该区间,否则不选。

#include<iostream>#include<algorithm>#include<cstdio>using namespace std;class T{public:int l,r;}a[110];bool cmp(T a,T b){return a.r<b.r;}int main(){int n;while(scanf("%d",&n),n){for(int i=0;i<n;i++){scanf("%d%d",&a[i].l,&a[i].r);}sort(a,a+n,cmp);int counter=1;int ll=a[0].r;for(int i=1;i<n;i++){if(a[i].l>=ll){counter++;ll=a[i].r;}}printf("%d\n",counter);}return 0;}


原创粉丝点击