0
已解决
周旭东
初级光能
初级光能
题目描述 Description
区间是指具有左端点和右段点的,在左端点和右端点间所有数的集合。例如(2, 6)就是指2到6之间的所有数。现在给你n个区间,请你将它们合并成尽可能少的区间。区间合并的规则是,如果两个区间有公共部分,或者端点相连,则可以变成一个更大的区间。
输入描述 Input Description
第一行,一个整数,n,表示有n个区间
接下来n行,每行两个整数,a b,表示区间(a, b)
输出描述 Output Description
一个整数,表示合并之后还剩多少个区间
样例输入 Sample Input
4
1 5
2 4
1 4
2 3
样例输出 Sample Output
1
数据范围及提示 Data Size & Hint
n≤100
int ans;
struct G{
int x,y;
}a[105];
bool cmp(G c,G d)
{
if(c.x!=d.x)return c.x<d.x;
return c.y<d.y;
}
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i].x>>a[i].y;
sort(a+1,a+n+1,cmp);
for(int i=2;i<=n-1;i++)
{
if(a[i].x<a[1].x||a[i].y>a[1].y)
ans++;
}
cout<<ans;
return 0;
}
10分WA代码,请帮忙找错!