您当前所在分类目录: pat

[pat题解]1108.Finding Average

PAT1108题,本题要求输入N个字符串,然后判断这些字符串是否表示一个合法的数,将所有合法的数求和并计算其均值。对于不合法的数,对其进行输出。 合法规则:值必须在[-1000, 1000]范围内,并且精度不能超过小数点后两位。规则比较简单。 本题注意点: 1.要判断精度,比如1.000,精度为三位小数,不符合规则,则表示该数是非法的。 2.要判断该字符串能否表示一个数,比如aaa,显然不能表示一 …

Continue reading

[pat题解]1074.Reversing Linked List(25)

本题要求对一个链表进行分组逆置,给定K,每K个元素为一组,将组中元素逆置,如果最后一组元素不足K个,则不做处理。 本题个人做法为使用map来组织链表结构,可以方便的进行查询和处理。 c++代码如下:  #include <algorithm> #include <cstdio> #include <iostream> #include <vect …

Continue reading

[pat题解]1005.Spell It Right(map+reduce)

pat 1005.spell it right. 题目给定一个非负的整数,要求把每一位上的数字相加,得到一个和,然后把这个和从高位到低位翻译成英文单词,1对应one,2对应two,3对three,0对应zero,这样依次将每一位表示成一个单词,输出。 给定的这个整数小于等于10^100次方,所以超出了数据类型int的表示范围,所以注意处理,另外题目中说明是非负整数,所以这就要考虑到临界条件0的处理 …

Continue reading

[pat题解]1004.Counting Leaves

pat 1004题。 每个家族结构通常表示为一棵家谱树,家谱树种每一带偶尔会有一些人没有后代。也就是树种每一层偶尔会有无子节点的情况。 题目给定一个家谱树,要求统计每一代,也就是树中每一层有多少个节点没有子节点。 家谱树的输入为按标号输入,输入某个节点,然后后面跟着其所有子节点,一次类推。 做法是逐层遍历,累死与层序遍历,统计每一层中的无子节点的节点个数即可,即每层的叶子节点个数,记录层的方法很多 …

Continue reading

[pat题解]1002.A+B for Polynomials

pat第二题,给定两个多项式,计算两个多项式相加后的多项式,多项式的给出示例,指数+对应的系数,计算规则是相同指数的系数相加作为新的系数,例如2x^2 + 3x和-x^2 + 3则得到x^2 + 3x + 3。这里需要注意的点有三个,第一要求按指数降序排列,第二精确到小数点后一位,如果计算中出现系数为0,则该项不应该出现在结果中。尤其是第三点如果忘记过滤掉的话,最后一个case会过不去,所以要记得 …

Continue reading

[pat题解]1003.Emergency

PAT的1003题,题目告诉了一张图,图中有很多城市,给出不同城市之间的通路情况,以及路的距离,每个城市中有一定数量的救援队,现在给定一个源城市和一个目的城市,找一条最短路,是的两城市之间的距离最短,同时保证经过的城市中的救援队总和最大。 所以题目就是个双重条件的最短路问题,第一重条件是距离,第二重条件是救援队的数量,首先保证距离最短,在距离相同的情况下选择救援队数量多的路径。所以可以直接使用df …

Continue reading

[pat题解]1001.A + B

重新开始刷PAT,第一题,最简单的A + B,要求输入两个数A和B,求A+B的值,并对该值做千位分割,即从个位开始,每三位加一个逗号进行隔开,比如10000->10,000,这种格式,因为python中有直接的千位分割的format可用,所以直接用python做了。 python代码: import re if __name__ == '__main__': str = input …

Continue reading