原题链接:排座椅[NOIP2008 年普及组]
解题思路:
注意事项:
参考代码:
#include"bits/stdc++.h"
using namespace std;
int m,n,k,l,d,k1[1005],l1[1005],kk1[1005],ll2[1005];
int mp[1005][1005];
struct f{
int x,y,p,q;
}a[2005];
int main(){
cin>>m>>n>>k>>l>>d;
for(int i=1;i<=d;i++){
cin>>a[i].x>>a[i].y>>a[i].p>>a[i].q;
if(a[i].x==a[i].p){
ll2[min(a[i].y,a[i].q)]++;
}
if(a[i].y==a[i].q){
kk1[min(a[i].x,a[i].p)]++;
}
}
int k2=1;
while(k2<=k){
int kkk=0,kk;
for(int i=m;i>=1;i--){
if(kk1[i]>kkk){
kkk=kk1[i];
kk=i;
}
}
k1[k2]=kk;
kk1[kk]=0;
k2++;
}
int l2=1;
while(l2<=l){
int lll=0,ll;
for(int i=1;i<=n;i++){
if(ll2[i]>lll){
lll=ll2[i];
ll=i;
}
}
l1[l2]=ll;
ll2[ll]=0;
l2++;
}
sort(k1+1,k1+k+1);
sort(l1+1,l1+l+1);
for(int i=1;i<=k;i++){
cout<<k1[i]<<" ";
}
cout<<endl;
for(int i=1;i<=l;i++){
cout<<l1[i]<<" ";
}
return 0;
}0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复