#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;
int maxn;
struct kitt{
int hen;
int me;
}ken[1100];
struct kit{
int zng;
int me;
}lzo[5100];
int a[1100][5100],bt=0;
bool com(kitt a,kitt b)
{
if(a.hen>b.hen)
return a.hen<b.hen;
}
bool comp(kit a,kit b)
{
if(a.zng>b.zng)
return a.zng<b.zng;
}
int main()
{
int m,n,k,l,d,x1,y1,x2,y2,t=1;
cin>>m>>n>>k>>l>>d;
for(int i=1;i<=d;i++){
cin>>x1>>y1>>x2>>y2;
a[m+1-x1][y1]=t;
a[m+1-x2][y2]=t;
t++;
}
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
if(a[i][j]!=0&&a[i][j+1]==a[i][j]){
lzo[j].me=j;
lzo[j].zng++;
}
if(a[i][j]!=0&&a[i][j]==a[i+1][j]){
ken[m+1-i].hen++;
ken[m+1-i].me=m-i;
}
}
}
sort(lzo+1,lzo+n,comp);
sort(ken+1,ken+m,com);
for(int i=m-1;k--&&k>=0;i--)
cout<<ken[i].me<<" ";
cout<<endl;
for(int i=n-1;l--&&l>=0;i--)
cout<<lzo[i].me<<" ";
}
我是想两个数组文件,一个横的,一个纵的,找到能隔开多的 ,在排序,之后一个一个把号码输出,就全废了 (感觉是排序的问题)