![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PTA甲级
壹零叁玖
多多重复 百炼成钢
展开
-
PTA刷题Advanced甲级——1012.The Best Rank——Day(6)
问题描述题目翻译:简要大义:输入两个数分别表示学生数和查询数,然后每一行输入每一个学生的学号和三门课程CME的成绩,再算出每个人的平均分,对每一科都进行排序包括平均分。然后每一行输入一个学生的学号,如果学生存在,就输出他排名最高的名词以及那门课的标号,如果存在同名次的学科,就按A->C->M->E的优先级输出,如果学生不存在就输出N/A;题目分析题目比较简单,我们只需要排序多次即可。但是每次排序使用的比较函数不同,如果要获得C语言的排名,就通过C语言成绩排序;获得英语排名,就通过原创 2020-06-11 13:43:55 · 185 阅读 · 0 评论 -
PTA刷题Advanced甲级——1011.World Cup Betting——Day(6)
问题描述题目翻译:在2010FIFA世界杯进行时,当最好的球队中最棒的球员在为了世界杯奖杯而在南美拼搏时,来自世界各地的球迷非常激动和兴奋。同样的,爱好足球赌博的人也通过实际行动参与了进来,不过用的是各种世界杯赌博方式。中国足球彩票推出了一个“三倍赢”游戏。胜利的规则非常简单:首先选择任意三个游戏。然后对于每个选择的游戏,赌其中三个可能的结果中的其中一个,叫W是赢,T的是平局,L是输。对于每个结果都有一个剩余的值。胜利者的剩余将会是三个剩余值的65%。例如,3个游戏的剩余在下面给出:W T原创 2020-06-11 13:09:08 · 238 阅读 · 0 评论 -
PTA刷题Advanced甲级——1010.Radix——Day(5)
问题描述题目分析:给出两个数字,也有可能是两个字符串,都可以表示为数字。第三个给出的数字表示一个tag,如果tag=1,则第四个数字表示第1个数字或字符串的进制,如果tag=2,则第四个数字表示第二个数字或者字符串的进制。下面我们应该判断,是否存在一种进制,使得第一个数字(字符串)和第二个数字(字符串)在这个进制上是相等的。题目分析这道题可有的说了,主要的难点在于我们应该怎么查找这个进制呢?众所周知,2进制只包含0、1,而10进制的每一位只能在0-1区间内。所以我们可以认为一串数字中最大的那个数原创 2020-06-10 10:35:16 · 181 阅读 · 0 评论 -
PTA刷题Advanced甲级——1009.Product of Polynomials——Day(5)
问题描述题目翻译:这是一个多项式给乘法,测试样例包括两行,每一行开头都有一个数字来指示第一个多项式有几项,然后依次输入多项式每一项的指数和系数,第二行同理输入第二个多项式的项数,以及每一项的指数和系数。题目分析在这里我使用了两个数组,第一个数组的下标为指数,值为系数,用来存储第一个多项式。第二个数组用来存储两个多项式相乘的结果,仍然是下标存放指数而值存放系数。在两个多项式相乘的时候,应该做到指数想加,系数相乘。这道题有一个坑点,在测试0的时候一直不通过,其实是因为我们不能将系数为0 的项也输出,原创 2020-06-10 10:21:49 · 161 阅读 · 0 评论 -
PTA刷题Advanced甲级——1008.Elevator——Day(4)
问题描述题目翻译:电梯上一层花费时间为6s,下一层花费时间为4s,每到达一层都会停留5s,给出一段序列,第一个数字代表电梯停的次数,然后依次输入电梯所停楼层。题目分析因为每停一次就会花费五秒钟,所以我们将第一个输入的数字N乘以5,先算出停留时间。边输入边计算当前楼层与前一楼层之间的层数差,初始化前一楼层为0。如果差为正,我们将其6加入最终时间;否则4加入最终时间。每输入一个都需要将其更新为前一楼层数。代码#include <iostream>using namespace std原创 2020-06-06 16:37:57 · 154 阅读 · 0 评论 -
PTA刷题Advanced甲级——1007.Maximum Sequences Sum——Day(4)
问题描述题目翻译:在一串无序的序列中找到加和最大的结果,并且输入这一段加和最大的序列的起始数字和终止数字。如果有很多这样的序列具有同样的加和,我们就取最小的索引为起始数字。如果这串序列全为负,我们就输出sum=0,以及第一个数字和最后一个数字。题目分析首先设置一个变量p,指示可能的起始位置。我们可以设置一个变量temp,在与每个数字加和的过程中,如果temp<0,我们就令temp=0,将起始位置放在当前位置的下一个位置,因为此时显然不可能最大,所以我们把p指向这个位置的下一个位置,先假设从原创 2020-06-06 16:33:06 · 157 阅读 · 0 评论 -
PTA刷题Advanced甲级——1006.Sign in and Sign out——Day(2)
问题描述题目翻译:每个人进出机房都需要打卡,记录自己的进入时间和离开时间。我们需要找出最早进入时间同学的id编号和最晚离开同学的id编号。题目分析这道题主要是考察字符串的函数知识,既然是找最早进入和最晚离开,我们就可以边输入边比较,最早进入时间firsttime初始化为23:59:59,最晚离开时间latetime初始化为00:00:00。字符串比较函数为strcmp(s1,s2),如果s1<s2,则strcmp返回-1,如果相等返回0,否则返回1。strcpy(s1,s2)是将字符串s2原创 2020-06-05 09:06:06 · 151 阅读 · 0 评论 -
PTA刷题Advanced甲级——1005.Spell it right——Day(2)
问题描述题目翻译:将输入的数字各位加和并将结果按照英文的形式输出,如输入12345,1+2+3+4+5=15,所以英文输出形式为one five。题目分析我们以字符串的形式输入数字,将各位数字加和,并利用snprintf函数将其转化为字符数组。将从zero-nine的所有字符串放入一个字符串数组中,根据字符数组中的字符去索引字符串数组中的对应英文,输出即可。这里需要注意的是,对数字10来说,我们不能输出ten,而是输出"one zero"。代码#include <iostream>原创 2020-06-05 08:54:39 · 278 阅读 · 0 评论 -
PTA刷题Advanced甲级——1004.Counting Leaves——Day(2)
问题描述简单翻译一下题目:1004.计算叶子个数一个家庭的层级结构经常被表现为一个家谱树。你的任务是统计这些家庭成员中谁没有孩子。输入每个输入文件包含一个测试实例。每个实例开始的一行包含N和M,N指树中的结点个数(0<N<100),M指非叶结点的个数。然后下面有M行,每行的格式如下:ID K ID[1] ID[2] …ID[K]ID是一个两位数的数字,表示一个非叶结点。K表示其孩子的数量。随后是一个序列,序列中是该结点的孩子结点的两位数ID。为了简单起见,我们把根结点的ID固定为原创 2020-06-04 17:54:19 · 223 阅读 · 0 评论 -
PTA刷题Advanced甲级——1003.Emergency——Day(2)
题目描述简单翻译一下题目:给出N个城市,M条无向边,每个城市都有一定数目的救援小组,所有边的边权已知。现在给出起点和终点,求从起点到终点的最短路径条数及最短路径上的救援小组数目之和。如果有多条最短路径,则输出数目之和最大的。题目分析由于我们的起点是固定的,所以本题就是求解出从起点到终点的最短距离,很明显这是一个单源最短路径问题,即Dijkstra算法。但是由于每一个顶点都具有一个权重,对应于题中所说的每个城市有一定数量的搜救队员。我们需要找到一条最短路径且可以搜集到最多搜救队员的路径,即这条路径上原创 2020-06-04 17:38:04 · 191 阅读 · 0 评论 -
PTA刷题Advanced甲级——1002.A+B for Ploynomials——Day(1)
问题描述计算多项式的和,每个样例有两行,每一行代表一个多项式,K是非零整数,Ni是指数,aNi是系数,K范围是1到10,NK范围是0到1000,输出一行,行尾不可有空格。题目分析题目很简单,由于N一定<=1000,所以我们干脆创建一个长度为1005的数组a,以输入的Ni作为索引,将输入的aNi存放入a[Ni],如果这个位置已经有值了,我们就将新输入的值加在原有数值上即可。这么做就不用考虑正负号和零的问题了,基本上可以避免所有坑,是个很直观的例子。然后我们将数组反向输出,如果对应位置的数值为0原创 2020-05-29 11:45:18 · 442 阅读 · 0 评论 -
PTA刷题Advanced甲级——1001.A+B Format——Day(1)
开篇历时42天终于刷完了PTA乙级的所有题目,所以对于只想考乙级证的兄弟们,不要慌,一天两道题绝对很快就搞定了,40天就可以刷完所有题目而且可以轻松应付考试。但对于浙江大学来说,真正可以代替机试的只有甲级考试,所以我们还是要继续坚持两个月左右,把甲级115道题全部刷完,一起加油互相监督。问题描述将给定的两个数字相加,并要输出为一种特殊的形式,即从后往前,每三个数字就会使用一个逗号分隔开。题目分析题目比较简单吧,但是有几个坑点:1.我们将两数字单纯相加,不用担心,不会溢出,然后将数字转化成字符原创 2020-05-29 11:23:51 · 433 阅读 · 0 评论