贪心…
代码简单易懂
一条华丽的分割线
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define maxn 1000100
using namespace std;
struct node
{
int l,r;
}a[maxn];
int n,num=0,ans=0;
bool cmp(node a,node b)
{
return a.l<b.l;
}
int main()
{
std::ios::sync_with_stdio(false);
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i].l>>a[i].r;
}
sort(a+1,a+n+1,cmp);
num=a[1].r;
ans=a[1].l;
for(int i=2;i<=n;i++)
{
if(num<a[i].l)
{
cout<<ans<<" "<<num<<endl;
num=max(num,a[i].r);
ans=a[i].l;
}
else
{
num=max(num,a[i].r);
}
if(i==n)
{
cout<<ans<<" "<<num<<endl;
}
}
return 0;
}