#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;
}
相关推荐
APM 飞行模式切换--源码详解
APM飞控中有很多种方式可以改变飞行模式。其中最常见的为遥控器切换和地面站切换两种方式。 下面以遥控器切换为例详解飞行模式切换逻辑。 APM遥控器切换飞行模式的源代码在RC_Channel.cpp文件中的RC_Channel_Copter::do_aux_function_change_mode()函数中。 const bool success = copter.set_mode()调用Copter::set_mode()函数,在set_mode()函数中调用mode_fro...
PAT甲级——Graduate Admission
题目描述 It is said that in 2013, there were about 100 graduate schools ready to proceed over 40,000 applications in Zhejiang Province. It would help a lot if you could write a program to automate the ...
别再被坑了!手把手教你从官网下载免费正版Notepad++(附最新网盘链接)
本文详细指导如何从Notepad++官网安全下载正版软件,避免山寨版本带来的安全风险。通过识别官网特征、推荐官方下载渠道、揭露山寨网站骗局及验证正版功能,帮助用户高效获取纯净的Notepad++代码编辑器,并分享实用插件和配置优化技巧。
1080 MOOC期终成绩 (25 分)
对于在中国大学MOOC(http://www.icourse163.org/ )学习“数据结构”课程的学生,想要获得一张合格证书,必须首先获得不少于200分的在线编程作业分,然后总评获得不少于60分(满分100)。总评成绩的计算公式为G=(Gmid−term×40%+Gfinal×60%),如果Gmid−term>Gfinal;否则总评G就是Gfinal。这里Gmid−term和Gfinal分别为学生的期中和期末成绩。 现在的问题是,每次考...
GD32F4系列替换STM32F4,HAL库CAN初始化卡死?一个Sleep模式的坑与填坑实录
本文详细解析了GD32F4系列替换STM32F4时,HAL库CAN初始化卡死的问题根源——Sleep模式差异。通过对比两款芯片CAN控制器的默认状态,提出了不修改HAL库源码的解决方案,即在HAL_CAN_MspInit()中清除SLEEP位,并分析了该方法的优势。文章还提供了国产MCU替换的通用建议和调试技巧,帮助开发者高效解决问题。
使用moveit中的报错及解决
1.fatal error: moveit/move_group_interface/move_group.h: 没有那个文件或目录。// #include <moveit/move_group_interface/move_group.h> 改为。问题1 moveit/move_group_interface/move_group.h: 没有那个文件或目录。在运行c++程序时报错。
PAT——A1080(排序)
题意链接: #include<cstdio> #include<iostream> #include<cmath> #include<cstring> #include<algorithm> using namespace std; #define maxn 10010 struct Student{ int GE,GI,su...
基于E310的纯逻辑代码实现AD9361射频收发
基于微相科技的E310平台实现AD9361的射频收发功能。采用纯逻辑控制的方式,不需要PS参与。实现了用VIO控制收发使能,发射功率,收发频率,数据接口时序控制,接收增益,BIST测试等功能。
PAT-B1080 MOOC期终成绩(25 分)
分析: 输入信息时,将内容保存在map中,方便插入和查找,然后将内容拷贝到vector中,方便排序。
CONN工具箱分析fmri数据笔记1
前言一、安装二、预处理三、去噪 前言 CONN:functional connectivity toolbox,是基于MATLAB和SPM的一个对功能磁共振数据进行分析的一个工具箱。可以进行以下分析: Seed-based correlations (SBC), ROI-to-ROI correlations, graph analyses, Independent component analyses(group-ICA), Masked (ICA) Amplitude of Low-Frequency.
用 CL_ABAP_ZIP 在 ABAP 里打包任意文件:从前端多选到 ZIP 交付的一条龙实践
本文介绍了在SAP ABAP中实现文件打包交付的完整解决方案。文章首先区分了ZIP和GZIP的不同用途:ZIP用于多文件归档,GZIP用于单数据流压缩。核心流程包括四个步骤:文件选择、二进制上传、内存打包和ZIP输出,并提供了关键对象与函数的速查表。针对实际项目中常见的乱码、大文件处理等问题给出了解决方案,最后展示了一个完整的可运行示例代码,涵盖了从文件选择到下载的全流程实现。该方案适用于财务、质量、运维等多种业务场景,能够有效解决多文件交付的最后一公里问题。
1080. Graduate Admission (30) (模拟排序 ZJU_PAT)
题目链接:http://www.patest.cn/contests/pat-a-practise/1080 It is said that in 2013, there were about 100 graduate schools ready to proceed over 40,000 applications in Zhejiang Province. It would he...
Outlook Express 6 (OE6) for Win7/Win8/Win10
英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。
PAT甲级刷题之路——A1080 Graduate Admission
PAT甲级1080 Graduate AdmissionPAT A1080 Graduate Admission(30分)原题如下题意理解自己的想法 PAT A1080 Graduate Admission(30分) 原题如下 题意理解 每一份申请包含两个成绩:国家通过考试成绩GEG_EGE,面试成绩GIG_IGI,最终成绩为(GE+GI)/2(G_E+G_I)/2(GE+GI)/2...
Devexpress16.2.6破解工具
Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具
C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片
基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正
PAT A1080
#include <iostream> #include <algorithm> #include <vector> using namespace std; const int maxn=40010; struct student{ int ge,gi,school[6],rank,index; }st[maxn]; int N,M,K,quota[150]...
lwip-2.0.3
lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。
1080 Graduate Admission(30 分)(C++)
It is said that in 2011, there are about 100 graduate schools ready to proceed over 40,000 applications in Zhejiang Province. It would help a lot if you could write a program to automate the admission...
PAT甲级1080
1080. Graduate Admission (30) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue It is said that in 2013, there were abo
【PAT】A1080. Graduate Admission(排序,现实模拟)
【PAT】A1080. Graduate Admission(排序,现实模拟) @(PAT) 链接:https://www.patest.cn/contests/pat-a-practise/1080 思路: 1. 其实主要是理解并处理好题目所说的录取的规则。用一个结构体存储好信息后,使用sort进行排序,然后根据录取的规则进行排名。 2. 排名完后根据录取的规则,排名从前往后一个学生一...
PAT1080 Graduate Admission (30)
题目链接: http://www.nowcoder.com/pat/5/problem/4310 题目描述:(1)分数分为Ge和Gi两部分,按照总分给学生排名次,如果总分一样,则按照Ge来排; (2)每个学生都有几个志愿,按照志愿高低给学生分配学校; (3)对于名次一样又报了同一学校的学生,该学校只要接收了一个就得接收全部,即便超出了原定的招生名额;题目分析:每次模拟题写得总是很冗长的感觉啊
PAT甲级1080 Graduate Admission (30 分)
1080Graduate Admission(30分) It is said that in 2011, there are about 100 graduate schools ready to proceed over 40,000 applications in Zhejiang Province. It would help a lot if you could write a p...
PAT1080
#include #include #include #include using namespace std; struct student { int ge; int gi; int finalg; int choose[5]; bool flag; int rank; int id; }stu[40100]; struct schoolx
pat-1080(排序)
pat-1080(排序) 思路: (1)按照成绩从大到小排序,tol相同再比较,EG。 (2)vc[i]数组记录每个数字排序后的序号,然后对vc[i]这个数组进行排序(按照排序前的序号大小)。 #include<iostream> #include<cstdio> #include<cstring> #include<string> #in...
【PAT-A】1080. Graduate Admission 写题记录
主要是模拟,创建两个结构体保存学生、学校数据。理清思路就好了 这次的bug在于 cmp函数中,if 以后必须出现else而不是else if,否则会导致没有return 还有如果数组过于复杂,将其赋值给一个临时变量,便于理解和书写,比如代码中的 prefer = stu[i].choice[j] #include <cstdio> #include <cstring&g...
【题解】【PAT甲】1080 Graduate Admission (30 分)(测试点3)
题目链接 PTA | 程序设计类实验辅助教学平台 题目描述 It is said that in 2011, there are about 100 graduate schools ready to proceed over 40,000 applications in Zhejiang Province. It would help a lot if you could write a program to automate the admission procedure. Each ..
PAT 1080. Graduate Admission (30) 模拟高考志愿录取规则
再次1A hahah /************************* 题意: 高考选志愿。 每个人有Ge和Gi, 最终分数是Gf。 比较方式是先看Gf,再看Ge 每个人k个志愿。 每个学校有一定的名额。 1个学生如果能被录取,则按照其志愿顺序选学校。 如果学校名额满了,只能再按志愿选下一个。 如果学校要选3个人,但是刚好有2个人分数相同 并且都是第3名,则2个人同时录取。 ******
[PAT-A 1080]Graduate Admission
题目大意: 有N位考生,M所学校,每位考生都有K个志愿学校,每个学校也有招生人数限制。 给出每位学生的考试成绩GE GI,以及K个志愿学校的编号。 要求模拟录取招生的过程,并输出米格学校录取的考生编号(从小到大) 录取规则:(有点像高考的平行志愿) 1)先按考生总分(GE+GI)/2进行排名,总分相同的按照GE的大小,高的在前,若GE相同,则排名相同。 2)按排名先后来考虑每个考生最终录取的学...
PAT甲级题目1080 Graduate Admission
代码: #include <iostream> #include <vector> #include <algorithm> using namespace std; struct peo{ int id, ge, gi, fin; vector<int> choice; }; bool cmp(peo& a, peo& b) { if (a.fin != b.fin) return a.fin > b.fin;
2440



被折叠的 条评论
为什么被折叠?



