题解
2024-10-12 20:14:23
发布于:湖南
#include<bits/stdc++.h>
using namespace std;
struct hl{
int id,num;//id 行列编号 num 各列各行分开同学数量;
}hang[1001],lie[1001];
int m,n,k,l,d;
bool cmp(hl t1,hl t2){
return t1.num>t2.num;
}
bool cmp1(hl t1,hl t2){
return t1.id<t2.id;
}
int main(){
cin>>m>>n>>k>>l>>d;
for(int i=1;i<=m;i++) hang[i].id=i;
for(int i=1;i<=n;i++) lie[i].id=i;
int x,y,p,q;
for(int i=1;i<=d;i++){
cin>>x>>y>>p>>q;
if(xp) lie[min(y,q)].num++;//左右关系
if(yq) hang[min(x,p)].num++;//上下关系
}
sort(lie+1,lie+1+n,cmp);
sort(hang+1,hang+1+m,cmp);
// cout<<"横向:"<<endl;
// for(int i=1;i<=m;i++) cout<<hang[i].id<<"-"<<hang[i].num<<" ";
sort(lie+1,lie+1+l,cmp1);
sort(hang+1,hang+1+k,cmp1);
for(int i=1;i<=k;i++) cout<<hang[i].id<<" ";
cout<<endl;
for(int i=1;i<=l;i++) cout<<lie[i].id<<" ";
return 0;
}
这里空空如也
有帮助,赞一个