算法设计吧 关注:332贴子:102
  • 1回复贴,共1

#include <iostream>//整数区间问题usi

只看楼主收藏回复

#include <iostream>//整数区间问题
using namespace std;
struct prince{
int left,right;
}a[10000];
int n;
int result;
int cmp(const void *a,const void *b){
return (*(prince *)a).right-(*(prince *)b).right;
}
int work(){
qsort(a+1,n,sizeof(a[0]),cmp);
int i,j,k;
int a1,a2;
a1=a[1].right-1;a2=a[1].right;result=2;
for(i=2;i<=n;i++)
{ if(a[i].left<=a1&& a[i].right>=a2)continue;//完全包含
if (a[i].left>a2 )
{a1=a[i].right-1;a2=a[i].right;result=result+2;}
if (a[i].left>a1 && a[i].right>a2 && a[i].left<=a2)
{a1=a2;a2=a[i].right;result++;}//只包含一个
}
return result;
}
int main(){
freopen("range6.in","r",stdin);
freopen("range6.out","w",stdout);
cin>>n;
int i;
for(i=1;i<=n;i++)
cin>>a[i].left>>a[i].right;
cout<<work()<<endl;
return 0;
}


IP属地:山东来自Android客户端1楼2018-06-04 19:23回复
    哪里出错了


    IP属地:山东来自Android客户端2楼2018-06-04 19:23
    回复