南邮 OJ 1269 区间相交问题

来源:互联网 发布:js deviceorientation 编辑:程序博客网 时间:2024/06/05 15:52

区间相交问题

时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte
总提交 : 99            测试通过 : 7 

比赛描述

给定x 轴上n 个闭区间。去掉尽可能少的闭区间,使剩下的闭区间都不相交。

给定n 个闭区间,编程计算去掉的最少闭区间数。



输入

第一行是正整数n,表示闭区间数。接下来的n行中,每行有2 个整数,分别表示闭区间的2个端点。

输出

将计算出的去掉的最少闭区间数输出。

样例输入

3
10 20
10 15
20 15

样例输出

2

提示

undefined

题目来源

NUAA



#include<iostream>#include<algorithm>using namespace std;struct seg{int l,r;};bool operator<(const seg &s1, const seg &s2){return s1.r<s2.r;}int main(){//freopen("test.txt","r",stdin);int n,i,j,count,l,r;scanf("%d",&n);seg *s = new seg[n];for(i=0;i<n;i++){scanf("%d%d",&l,&r);if(l<r){s[i].l=l;s[i].r=r;}else{s[i].l=r;s[i].r=l;}}sort(s,s+n);i=j=count=0;while(i<n){count++;while(j<n && s[j].l<=s[i].r){j++;}i = j;}printf("%d\n",n-count);}






0 0
原创粉丝点击