五个RE两个WA
#include <iostream>
#include <algorithm>
using namespace std;
int v[1002][1002];
struct str{
int cnt,num;
}a[1002],b[1002];
bool cmp(str x,str y)//排大小
{
return x.cnt>=y.cnt;
}
bool cmp2(str x,str y)//排顺序
{
return x.num<y.num;
}
int main()
{
int m,n,k,l,d;
cin>>m>>n>>k>>l>>d;
for(int i=1;i<=d;i++)
{
int x1,y1,x2,y2;
cin>>x1>>y1>>x2>>y2;
if(x1<x2)v[x1][y1]++;
else if(x2<x1)v[x2][y2]++;
else if(y1<y2)v[x1][y1]+=2;
else v[x2][y2]+=2;//1表示前后讲话
//2表示左右讲话 3都有
//统一标在前面和左边
}
//a横过道 b纵过道
for(int i=1;i<=m;i++)
{
for(int j=1;j<=n;j++)
{
if(v[i][j]==1||v[i][j]==3)a[i].cnt++;
if(v[i][j]==2||v[i][j]==3)b[j].cnt++;
a[i].num=i;b[j].num=j;
}
}
sort(a+1,a+m,cmp);//排大小
sort(a+1,a+k+1,cmp2);//排顺序
sort(b+1,b+n,cmp);
sort(b+1,b+l+1,cmp2);
cout<<a[1].num;
for(int i=2;i<=k;i++)cout<<" "<<a[i].num;
cout<<endl;
cout<<b[1].num;
for(int i=2;i<=l;i++)cout<<" "<<b[i].num;//末尾无空格
return 0;
}