```cpp
#include<bits/stdc++.h>
using namespace std;
int n,k,l,a[1001][1001],d,x,y,z,w,m,q,p,w1[1001],w2[1001];
struct sb{
int id,dx;
}b[1001];
struct bs{
int wz,sz;
}c[1001];
bool cmp(sb a,sb b)
{
return a.dx>b.dx;
}
bool cmp1(bs c,bs d)
{
return c.sz>d.sz;
}
int main()
{
//freopen("seat.in","r",stdin);
//freopen("seat.out","w",stdout);
scanf("%d%d%d%d%d",&n,&m,&k,&l,&d);
for(int i=1;i<=d;i++)
{
scanf("%d%d%d%d",&x,&y,&z,&w);
if(x==z)
a[x][y]=a[z][w]=1;
else
a[x][y]=a[z][w]=2;
}
for(int i=1;i<n;i++)
b[i].id=i;
for(int i=1;i<m;i++)
c[i].wz=i;
for(int i=1;i<=n;i++)
{
for(int j=2;j<=m;j++)
if(a[i][j]==a[i][j-1]&&a[i][j]==1)
c[j-1].sz++;
}
for(int j=1;j<=m;j++)
{
for(int i=2;i<=n;i++)
if(a[i][j]==a[i-1][j]&&a[i][j]==2)
b[i-1].dx++;
}
sort(b+1,b+n+1,cmp);
sort(c+1,c+m+1,cmp1);
while(k--)
{
p++;
w1[p]=b[p].id;
}
while(l--)
{
q++;
w2[q]=c[q].wz;
}
sort(w1+1,w1+p+1);
sort(w2+1,w2+q+1);
for(int i=1;i<=p;i++)
printf("%d ",w1[i]);
puts(" ");
for(int i=1;i<=q;i++)
printf("%d ",w2[i]);
}
```
又改了一下,还是10分
by Thunderbolt_General @ 2022-10-04 17:34:47
可能是你没有从小到大的顺序输出(没看你的代码)
by MUYIIIII @ 2022-10-20 21:35:03