概述
这类题一般很简单,重点是看清题目的要求,初始条件(比如初始时电梯在第几层)。题给的输入是否有无效输入。一般涉及到字符串(比如人名)可能需要使用set或者map来去重或者判断这个人是否出现过。
关于计算,特别是乘法和除法,要注意类型转换。
调度问题
A1008 Elevator
A1008 Elevator |
水题,模拟一个电梯的调度,给出运行速度和停留时间,按照题给的执行序列模拟即可。
最大最小值问题
这类题处理的时候,不需要存储所有的数据,只需要边读取边保存最大/最小值即可,这样可以减少内存占用。
但是在PAT甲级中这种题一般输入小,全部读取再遍历一遍或者排序也是可以的。
A1006 Sign In and Sign Out
A1006 Sign In and Sign Out
求第一个进入机房和最后一个离开机房的同学
A1036 Boys vs Girls
A1036 Boys vs Girls
求成绩最高的女生和成绩最低的男生以及他们之间的成绩差
A1011 World Cup Betting
多轮变换问题
A1042 Shuffling Machine
A1042 Shuffling Machine
题目实际上时给出一个初始序列和一个变换序列,求N次使用变换序列作为规则变换初始序列。
这类题一般将题给的序列映射成数字(比如这道题每种牌有13张,可以简单的将所有的牌映射到0~51),输出的时候反向映射,这里只涉及简单的数学公式。要注意如果题目给的下标从1开始,我们将其映射到从0开始会比较方便。
这道题要注意写回,因为我们将一次变换的序列暂存在另一个数组中,为了下一次变换正常进行,我们需要将它写回原来的数组。