#include<iostream>
#include<bits/stdc++.h>
using namespace std;
const int N=1e5;
int n;
struct node{
int q,z;
}a[N];
bool cmp(node p1,node p2){
return p1.q<p2.q;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i].q>>a[i].z;
sort(a,a+n,cmp);
int l=a[1].q,r=a[1].z;
for(int i=2;i<=n;i++){
if(a[i].q<=r){
r=max(r,a[i].z);
}else{
cout<<l<<" "<<r<<"\n";
l=a[i].q;
r=a[i].z;
}
}
cout<<l<<" "<<r;
return 0;
}
样例没过 提交过了 大佬们 给我解释下(老实)