原题链接:排座椅[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、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复