7 条题解

  • 1
    @ 2025-4-21 9:58:24

    #include <bits/stdc++.h> using namespace std; const int Maxn=5010; struct Node{ int x,y; }a[Maxn]; int n,cnt=0,last; bool cmp(const Node & t1,const Node & t2){ return t1.x<t2.x; } int main() { cin>>n; for(int i=1;i<=n;i++){ cin>>a[i].x; cin>>a[i].y; } sort(a+1,a+n+1,cmp); last=a[1].y; cnt+=1; for(int i=2;i<=n;i++){ if(a[i].x<=last){ last=max(last,a[i].y); }else{ a[cnt].y=last; last=a[i].y; cnt+=1; a[cnt].x=a[i].x;} } a[cnt].y=last; cout<<cnt<<endl; for(int i=1;i<=cnt;i++){ cout<<a[i].x<<" "<<a[i].y<<endl; } return 0; }

    信息

    ID
    735
    时间
    1000ms
    内存
    256MiB
    难度
    8
    标签
    递交数
    902
    已通过
    124
    上传者