问题标题: 酷町堂:2777 区间合并

0
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代码,请帮忙找错!

 


0
已采纳
张凌峰
张凌峰
新手光能
新手光能
    {
        if(a[i].s>e)
            ans++;
        e=max(e,a[i].e);

 

主要代码

0
李泽远
李泽远
高级天翼
高级天翼

不会呀!

李泽远在2020-08-07 21:08:00追加了内容

对不起,之前的我太水了

0
0
我要回答