比赛 |
20190526模拟赛 |
评测结果 |
AAAAAAAAAA |
题目名称 |
排座椅 |
最终得分 |
100 |
用户昵称 |
海阔天空 |
运行时间 |
0.007 s |
代码语言 |
C++ |
内存使用 |
13.69 MiB |
提交时间 |
2019-05-26 19:04:51 |
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
int n,m,k,l,d;
inline int read(){
int x=0,w=1;
char ch=getchar();
for(;ch>'9'||ch<'0';ch=getchar()) if(ch=='-') w=-1;
for(;ch>='0'&&ch<='9';ch=getchar()) x=x*10+ch-'0';
return x*w;
}
const int maxn=2005;
int x1,y1,x2,y2;
struct node{
int cnt,per;//数,人
}a[maxn],b[maxn];
inline bool cmp1(node a,node b){
return a.cnt>b.cnt;
}
inline bool cmp2(node a,node b){
return a.per<b.per;
}
int main(){
freopen("seats.in","r",stdin);
freopen("seats.out","w",stdout);
m=read(),n=read(),k=read(),l=read(),d=read();
for(int i=1;i<=d;i++){
x1=read(),y1=read(),x2=read(),y2=read();
if(y1==y2){
a[min(x1,x2)].per=min(x1,x2);
a[min(x1,x2)].cnt++;
}
else if(x1==x2){
b[min(y1,y2)].per=min(y1,y2);
b[min(y1,y2)].cnt++;
}
}
sort(b+1,b+n+1,cmp1);
sort(a+1,a+m+1,cmp1);
sort(b+1,b+l+1,cmp2);
sort(a+1,a+k+1,cmp2);
for(int i=1;i<=k;i++)
cout<<a[i].per<<" ";
cout<<'\n';
for(int i=1;i<=l;i++)
cout<<b[i].per<<" ";
cout<<'\n';
return 0;
}