ZJU-PAT 1080. Graduate Admission (30) 浙大2014年上机复试第四题
来源:互联网 发布:shopex 源码解析 编辑:程序博客网 时间:2024/06/15 23:47
#include<iostream>#include<algorithm>#include<cstdio>#include<vector>using namespace std;const int maxn=40005;const int maxm=101;int n,m,k;int num[maxm];int lastRank[maxm];vector<int> mm[maxm];struct stu{ int id; int GE,GI,fin; int pre[6]; int rank;};stu tt[maxn];bool cmp(stu a,stu b){ if(a.fin!=b.fin) return a.fin>b.fin; else return a.GE>b.GE;}void Init(){ scanf("%d%d%d",&n,&m,&k); for(int i=0; i<m; i++) scanf("%d",&num[i]); for(int i=0; i<n; i++) { scanf("%d%d",&tt[i].GE,&tt[i].GI); tt[i].fin=(tt[i].GE+tt[i].GI); tt[i].id=i; for(int j=0; j<k; j++) { scanf("%d",&tt[i].pre[j]); } } sort(tt,tt+n,cmp); for(int i=0; i<maxm; i++) mm[i].clear(); tt[0].rank=0; for(int i=1; i<n; i++) { if(tt[i].fin==tt[i-1].fin && tt[i].GE==tt[i-1].GE) tt[i].rank=tt[i-1].rank; else tt[i].rank=i; }}void Select(){ for(int i=0; i<n; i++) { int curstuid=tt[i].id; for(int j=0; j<k; j++) { int schoolid=tt[i].pre[j]; if(mm[schoolid].size()<num[schoolid]) { mm[schoolid].push_back(curstuid); lastRank[schoolid]=tt[i].rank; //当前学生的排名 非tt[curstuid].rank break; } else if(mm[schoolid].size()>0) { /*int laststu=mm[schoolid].back(); 错误同上所述 if(tt[laststu].rank==tt[i].rank) { mm[schoolid].push_back(curstuid); break; }*/ if(tt[i].rank==lastRank[schoolid]) { mm[schoolid].push_back(curstuid); break; } } } }}void output(){ for(int i=0; i<m; i++) { if(mm[i].size()==0) printf("\n"); else { sort(mm[i].begin(),mm[i].end()); for(int j=0; j<mm[i].size(); j++) { if(j==0)printf("%d",mm[i][j]); else printf(" %d",mm[i][j]); } printf("\n"); } }}int main(){ Init(); Select(); output(); return 0;}
0 0
- ZJU-PAT 1080. Graduate Admission (30) 浙大2014年上机复试第四题
- pat 1080. Graduate Admission (30) 浙大复试上机第四题
- ZJU-PAT 1056. Mice and Rice (25) 浙大2013年上机复试第四题
- ZJU-PAT 1077. Kuchiguse (20) 浙大2014年上机复试第一题
- ZJU-PAT 1079. Total Sales of Supply Chain (25) 浙大2014年上机复试第三题
- ZJU-PAT 1078. Hashing (25) 浙大2014年上机复试第二题
- ZJU-PAT 1057. Stack (30) 浙大2013年上机复试第三题
- ZJU-PAT 1057. Stack (30)---17有3组超时 浙大2013年上机复试第三题
- ZJU-PAT 1054. The Dominant Color (20) 浙大2013年上机复试第一题
- ZJU-PAT 1055. The World's Richest (25) 浙大2013年上机复试第二题
- PAT 1080. Graduate Admission (30)
- PAT 1080. Graduate Admission (30)
- PAT 1080. Graduate Admission (30)
- 【PAT】1080. Graduate Admission (30)
- 1080. Graduate Admission (30) PAT
- pat-1080. Graduate Admission (30)
- 【PAT】1080. Graduate Admission
- ZJU 09 复试上机 第四题
- pl/sql developer8.0的注册码
- 梦想
- RSA 加密与加签
- SVN与Git比较
- android 比较靠谱的选择图片以及拍照,保存图片
- ZJU-PAT 1080. Graduate Admission (30) 浙大2014年上机复试第四题
- 落地的一瞬间,陆涛一口鲜血吐了出来
- Linux 超有用命令行命令(转载)
- 微软宣布.NET Native预览版 C#可编译为本地机器码
- 图解Git/图形化的Git参考手册
- android多线程handler+runOnUithread+view.post+handler.post 2013-
- 关于Unicode&UTF-8&ANSI的相互转换(Ver1.1)
- IPv4地址(三)——无分类编址
- C语言中define的用法总结