
PAT乙级
Frozen_Guardian
已退役菜鸡Acmer
展开
-
PAT (Basic Level) 1095 解码PAT准考证(模拟+stl,好题)
题目链接:点击查看题目大意:给出n个学生的准考证号以及成绩,再给出m个查询,要求按照规则输出每一个查询首先,准考证的构成也是有讲究的,每个准考证号由四部分组成:第一位是级别,A代表甲级,B代表乙级,T代表顶级 第 2~4 位是考场编号,范围从 101 到 999; 第 5~10 位是考试日期,格式为年、月、日顺次各占 2 位; 最后 11~13 位是考生编号,范围从 000 到 ...原创 2019-10-27 13:42:23 · 328 阅读 · 0 评论 -
PAT (Basic Level) 1091 N-自守数(模拟+stl)
题目链接:点击查看题目大意:给定一个数K,规定N-自守数的定义为K*K*N的末尾几位数等于K,则称K为N-自守数,比如3*92*92=25392,所以92是一个3-自守数,现在给出一些数,判断其是不是自守数,并输出最小的N和N*K*K的值题目分析:直接模拟即可,熟练运用stl可以简化许多操作,这个题就是个很好的例子,将数字转换为字符串后可以直接用substr函数提取出其后制定位数代码:...原创 2019-10-27 11:32:41 · 239 阅读 · 0 评论 -
PAT (Basic Level) 1080 MOOC期终成绩(模拟+stl)
题目链接:点击查看题目大意:分别给出a个学生的编程分数,b个学生的期中考试成绩,c个学生的期末考试成绩,有几个规则:总评为: 若期中考试成绩大于期末考试成绩: 否则: 合格的定义是编程分数大于等于200并且总评四舍五入后大于等于60 排序的优先级是: 先按总评排序 再按学号排序 满足以上规则的情况下,从大到小输出合格的学生信息题目分析:思路简单的一道模拟题,就因...原创 2019-10-26 12:23:58 · 401 阅读 · 0 评论 -
PAT (Basic Level) 1073 多选题常见计分法(恶心模拟)
题目链接:点击查看题目大意:1058的升级版,批改多选题,全对得满分,半对的半分,有错误选项不得分,最后统计出每个学生的成绩,以及哪个题目的哪个选项错误的次数最多,若有并列,依次输出题目分析:目前为止pat里最恶心的模拟题,没有之一,并且这个题目不知道是不是有一个很奇怪的测试点把我卡了,网上去找题解也没找到关于那个测试点的描述,在努力了一个下午加一个晚上之后选择放弃(nmd,为了追求完美浪...原创 2019-10-26 10:31:06 · 354 阅读 · 0 评论 -
PAT (Basic Level) 1075 链表元素分类(模拟)
题目链接:点击查看题目大意:初始时给出一个链表,需要按照要求排序:当结点中的值为负数时,需要排在最前面 当结点中的值为非负数且小于阈值k时,排在中间 当结点中的值大于阈值k时,排在最后在整体排序的同时尽可能不要改变原始顺序题目分析:有了上次做模拟链表题的经验后,这个题目就顺手多了,因为规则明确将排序的要求分为了三个等级,那么我们在储存链表时顺便储存一下该结点的等级即可,最后从头结...原创 2019-10-26 10:25:19 · 349 阅读 · 0 评论 -
PAT (Basic Level) 1058 选择题(模拟)
题目链接:点击查看题目大意:给出规则,模拟批改多选题的过程,期间记录一下每道题有多少个人错,注意,在这个题目中的多选题,只有全部答案完全正确才能得到分数,其他情况分数均为0分计算题目分析:又是一道比较好玩的模拟题,难度为简单偏上吧,最近本来是在刷pat乙级题目的,结果发现迷上这种简单模拟了,感觉做着真的挺好玩的,这个题目我感觉主要是输入输出不太好处理吧,我是首先用一个map记录一下每个题目...原创 2019-10-25 10:29:13 · 314 阅读 · 0 评论 -
PAT (Basic Level) 1055 集体照(模拟,好题)
题目链接:点击查看题目大意:给出N个人的姓名和身高,再给出一共需要站K排,现在需要按照规则站队,求最后的队列分布:每排人数为N/K(向下取整),多出来的人全部站在最后一排; 后排所有人的个子都不比前排任何人矮; 每排中最高者站中间(中间位置为m/2+1,其中m为该排人数,除法向下取整); 每排其他人以中间人为轴,按身高非增序,先右后左交替入队站在中间人的两侧(例如5人身高为1...原创 2019-10-24 17:46:46 · 335 阅读 · 0 评论 -
PAT (Basic Level) 1050 螺旋矩阵(模拟)
题目链接:点击查看题目大意:给出N个数,降序排序后构造螺旋矩阵,要求行n和列m满足要求n*m==N并且n>m并且(m-n)尽可能小题目分析:排序后就是简单的蛇形填数了,网上都是用一个while套四个while的写法,我还是喜欢用走迷宫的写法来写,这个题有个很关键的一点,就是数组大小,因为题目保证了所有数字都在1e4之内,但是如果我们要开1e4*1e4的矩阵,是肯定开不下的,这样直接交...原创 2019-10-24 13:26:16 · 277 阅读 · 0 评论 -
PAT (Basic Level) 1045 快速排序(思维)
题目链接:点击查看题目大意:根据快速排序的定义,找出主元,主元就是在未排序之前,当前位置之前的数都比其自身小,当前位置之后的数都比其自身大题目分析:这个题可以暴力混分。。但没必要,n*n的时间复杂度就已经1e10了,肯定不是最优解,因为涉及到了最大值和最小值,我们可以用线性dp求一下截止到每个位置的最大值和最小值,正这跑一遍最大值,倒着跑一遍最小值,最后再正这跑一遍就出答案了,正这跑的时候...原创 2019-10-23 21:23:51 · 242 阅读 · 0 评论 -
PAT (Basic Level) 1044 火星数字(模拟)
题目链接:点击查看题目大意:现在规定火星文为十三进制的数字,十位和个位的数都给出(都表示为字符串的形式),现在给出n个询问,每次给出火星文或数字,请输出转换后的结果题目分析:先强调一个小细节需要注意一下,火星文的整10位不输出后面的那个0!!若是在16进制中,十进制的16代表为0x10,若在二进制中,十进制的2代表为10,但在这个题目中,火星文的13代表为tam,而不是tamtret...原创 2019-10-23 20:47:08 · 268 阅读 · 0 评论 -
PAT (Basic Level) 1039 到底买不买(模拟)
题目链接:点击查看题目大意:给出两个字符串a和b,问b是否能完全包含a,意思就是b中的所有字母在a中能否都找到一个对应的字母题目分析:这个题一开始想复杂了,可以先开一个稍大点的vis数组用来记录个数,然后记录ASCII码就行,先遍历一遍字符串a,记录每个字符出现的个数,然后再遍历一遍b,从中减去出现的字符即可,若在中间过程中出现了有的字符数目变为负数的情况,就说明字符串a还不足以包含字符串...原创 2019-10-23 16:41:13 · 246 阅读 · 0 评论 -
PAT (Basic Level) 1035 插入与归并(模拟)
题目链接:点击查看题目大意:给出两列数字,问第二列数是由第一列数怎样排序得到的,题目保证答案唯一,并且只有归并排序或插入排序两种选择题目分析:因为一开始不太了解归并排序和插入排序的特点,所以有点无从下手,去网上看了一下各自的特点后,就有了模拟的大致方向了,先在这里挂一下两种排序中间过程的特点:(针对这个题目而言)插入排序: 前面的一段连续序列有序,后面剩下的序列与原序列一一对应 归并...原创 2019-10-23 12:41:46 · 237 阅读 · 0 评论 -
PAT (Basic Level) 1034 有理数四则运算(模拟)
题目链接:点击查看题目大意:模拟有理数的四则运算题目分析:这个题真的考验代码实现能力,我模拟了好一会,终于是把样例过掉了,然后交了一发WA了两个测试点,一下子想起来如果直接乘的话会爆int,全部改成longlong后又过了一个测试点,最后那个测试点我也不知道为什么,对于每个分数必须先化简才能继续操作,不然可能会在某个地方爆掉longlong吧,原理不明写这种题的时候一定要保证思路清晰,...原创 2019-10-23 11:16:10 · 279 阅读 · 0 评论 -
PAT (Basic Level) - 1025 反转链表(模拟)
题目链接:点击查看题目大意:初始时给出一条长度为n的链表,要求从头开始每k位翻转一次,最后剩下的若不足k位,则保持原顺序,如:1->2->3->4->5->6,若k为3,答案为3->2->1->6->5->4,若k为4,答案为4->3->2->1->5->6需要按照要求翻转并输出,输出格式为:当前...原创 2019-10-22 15:06:03 · 306 阅读 · 0 评论