#include<bits/stdc++.h>
using namespace std;
struct c
{
int l,r,d,u;
};
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n,k,num=1;
cin>>n>>k;
map<int,c>m;
c x;
cin>>x.l>>x.d>>x.r>>x.u;
m[1]=x;
for(int i=1;i<n;i++)
{
cin>>x.l>>x.d>>x.r>>x.u;
bool b=0;
for(int j=1;j<=num;j++)
{
if(x.l<=m[j].l&&x.r>=m[j].r)
{
if(x.d<=m[j].d&&x.u>=m[j].u){b=1;break;}
if(x.d>=m[j].d&&x.d<=m[j].u){m[j].d=x.d;b=1;}
if(x.u>=m[j].d&&x.u<=m[j].u){m[j].u=x.u;b=1;}
}
if(x.l>=m[j].l&&x.l<=m[j].r)
{
if(x.d<=m[j].d&&x.u>=m[j].u){m[j].l=x.l;b=1;break;}
if(x.d>=m[j].d&&x.d<=m[j].u){m[j].l=x.l;m[j].d=x.d;b=1;}
if(x.u>=m[j].d&&x.u<=m[j].u){m[j].l=x.l;m[j].u=x.u;b=1;}
}
if(x.r>=m[j].l&&x.r<=m[j].r)
{
if(x.d<=m[j].d&&x.u>=m[j].u){m[j].r=x.r;b=1;break;}
if(x.d>=m[j].d&&x.d<=m[j].u){m[j].r=x.r;m[j].d=x.d;b=1;}
if(x.u>=m[j].d&&x.u<=m[j].u){m[j].r=x.r;m[j].u=x.u;b=1;}
}
if(b)break;
}
if(!b)
{
num++;
m[num]=x;
}
}
for(int i=1;i<=min(num,k);i++)
{
cout<<m[i].l<<" "<<m[i].d<<'\n';
}
for(int i=k-num;i>0;i--)cout<<m[1].l<<" "<<m[1].d<<'\n';
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |