题意:
思路:
#include <cstdio>
#include <algorithm>
#include <vector>
using namespace std;
const int N = 1e3 + 10;
struct X{
int id,val = 0;
}x[N];
struct Y{
int id,val = 0;
}y[N];
bool cmp1(X a,X b){
return a.val > b.val;
}
bool cmp2(Y a,Y b){
return a.val > b.val;
}
int n,m,k,l,d;
int main(){
scanf("%d%d%d%d%d",&n,&m,&k,&l,&d);
for(int i = 1;i <= d;i++){
int xi,yi,pi,qi;scanf("%d%d%d%d",&xi,&yi,&pi,&qi);
if(xi == pi) y[min(yi,qi)].val++;
else x[min(xi,pi)].val++;
}
for(int i = 1;i < N;i++) x[i].id = i,y[i].id = i;
sort(x + 1,x + 1 + n,cmp1);sort(y + 1,y + 1 + m,cmp2);
vector<int> id;
for(int i = 1;i <= k;i++){
id.push_back(x[i].id);
}
sort(id.begin(),id.end());
for(int x:id) printf("%d ",x);
puts("");
id.clear();
for(int i = 1;i <= l;i++){
id.push_back(y[i].id);
}
sort(id.begin(),id.end());
for(int x:id) printf("%d ",x);
puts("");
}