![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PAT
文章平均质量分 63
郑儿大人
努力成长的小青蛙
展开
-
【PAT1004】-Counting Leaves
实现思路题目大意就是计算出树的每一层中叶节点的个数(一)建树构建树的节点这一步决定了节点和节点之间的连接关系,在本体中没有提到树是二叉树,所以孩子节点的存储依靠vector存储,为方便存储在里面存放的是节点的id号存储所有树的节点由于存储的孩子是id号,且本题中树的个数不超过100,那么直接创建一个105大小的树节点指针的数组,数组的下标正好对应树节点的id号正常读取数据建树即可(二)遍历这里面遍历正常使用递归遍历即可,在遍历的过程中传递层数这一参数,当该节点为叶节点在本层记录原创 2021-03-08 22:17:56 · 69 阅读 · 0 评论 -
【PAT1003】-Emergency
实现思路由于是求最短路,我想到了用前向星+SPFA的解法在求解的过程中注意考虑当两条路的长度相同时,选择累积的消防队最多的那条路但是提交后:只通过了第一个测试点上网找了相关SPFA解法的博客利用SPFA算法解决PAT A1003全网最全!PAT甲组1003.Emergency (优先队列实现迪杰斯特拉算法,Bellman算法,SPFA)思路与注意点–补充《算法笔记》重要警示!!!不要再脑子不清楚的情况下瞎做题,我一直认为自己的思路没有问题,原来是我没注意题目想要的结果是什么,结果要的不是最原创 2021-03-06 15:50:22 · 166 阅读 · 1 评论 -
【PAT1002】-1002 A+B for Polynomials
实现思路实现的是多项式的加法,也就是对应位开始相加;一、为方便统一化处理,将读取多样式位数及系数存储到pair这一数据结构中,所有的pair是存储到vector数组中,为方便下一步的操作,将得到的所有数据按照位降序排列。二、利用到了归并排序的思想,同时遍历两个vector,当两个vector数组系数一样大时相加存储到结果vector中,如果一方较大,那就先存储较大的到结果数组中,该方遍历数据往下移动三、这样处理完之后还剩余数据的一方依次将结果存入注意: 题目中要求数据是保留一位小数的,有个取巧的方原创 2021-03-02 15:27:40 · 62 阅读 · 0 评论 -
【PAT1001】-A+B Format
方法一实现思路将结果相加,将得到的结果从低位到高位,每三位处理为字符串存储到数据结果中,同时将额外增加的逗号处理添加到数据结果中,将处理好的数据结果,依次打印得到结果。数据结构的选择由于先从低位开始处理,但输出的结果是从高位开始的,所以将结果存储到栈中int和string的转换:由于C++语言的特性,在stack中只能存储一种形式,所以在stack中存储的为为string字符串。选择每三位进行存储,如10,000,需要解决这样的问题000怎么转换为000自付出,而非一个0,所以在最后转换时没有使原创 2021-03-02 13:15:15 · 54 阅读 · 0 评论