比赛 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;
}