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