非原创
#include<bits/stdc++.h>
using namespace std;
int t1[2009];
int t2[2009];
using namespace std;
int t1[2009];
int t2[2009];
int findmax(int *a)
{
int i,p=0;
for(i=0;i<1001;i++)
{
if(a[p]<a[i]) p=i;
}
return p;
}
{
int i,p=0;
for(i=0;i<1001;i++)
{
if(a[p]<a[i]) p=i;
}
return p;
}
int main()
{
int m,n,k,l,d;
scanf("%d %d %d %d %d", &m, &n, &k, &l, &d);
int i,t;
int x1,x2,y1,y2;
int x[1009],y[1009];
memset(x,0,sizeof(x));
memset(y,0,sizeof(y));
for(i=0;i<d;i++)
{
scanf("%d %d %d %d", &x1, &y1, &x2, &y2);
if(x1==x2) y[min(y1,y2)]++;
else x[min(x1,x2)]++;
}
for(i=1;i<=k;i++)
{
t=findmax(x);
t1[t]=1;
x[t]=0;
}
for(i=1;i<=l;i++)
{
t=findmax(y);
t2[t]=1;
y[t]=0;
}
for(i=1;i<=m;i++) if(t1[i]) printf("%d ",i);
printf(" ");
for(i=1;i<=n;i++) if(t2[i]) printf("%d ",i);
return 0;
}
{
int m,n,k,l,d;
scanf("%d %d %d %d %d", &m, &n, &k, &l, &d);
int i,t;
int x1,x2,y1,y2;
int x[1009],y[1009];
memset(x,0,sizeof(x));
memset(y,0,sizeof(y));
for(i=0;i<d;i++)
{
scanf("%d %d %d %d", &x1, &y1, &x2, &y2);
if(x1==x2) y[min(y1,y2)]++;
else x[min(x1,x2)]++;
}
for(i=1;i<=k;i++)
{
t=findmax(x);
t1[t]=1;
x[t]=0;
}
for(i=1;i<=l;i++)
{
t=findmax(y);
t2[t]=1;
y[t]=0;
}
for(i=1;i<=m;i++) if(t1[i]) printf("%d ",i);
printf(" ");
for(i=1;i<=n;i++) if(t2[i]) printf("%d ",i);
return 0;
}