![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PAT甲级
zhixin169
这个作者很懒,什么都没留下…
展开
-
PAT-2020年春季考试-甲级 AC代码记录(7月25日)
运气好1个半小时AK了,期间差点以为自己要凉。 这次的题目有点奇怪,之前好像没做过这样的 题目还没有公布在网站上,先把当时过了的代码写下来记录一下 第1题 #include <bits/stdc++.h> using namespace std; bool isp(int num){ if(num==1)return false; if(num==2)return true; if(num==3)return true; for(int i=2;i<=sqr原创 2020-07-25 22:40:37 · 738 阅读 · 3 评论 -
PAT甲级 1064 Complete Binary Search Tree(构造二分搜索树)
题目链接 题目大意 输入n,再输入n个数字,把这n个数字构造二分搜索树,按照树的层次输出结果。二分搜索树的条件: 节点的左子树仅包含键值小于节点键值的节点。 节点的右子树仅包含键大于或等于节点的键的节点。 左和右子树都必须也是二进制搜索树。 思路 二分搜索数的中序遍历为数组从小到大排序后的结果,所以先把数组排好序,在中序遍历的过程中把排好序的数字填进二分搜索树中。 代码 #include<...原创 2020-04-18 11:23:33 · 132 阅读 · 0 评论 -
PAT甲级 1057 Stack (超简单写法)
题目链接 题目大意 模拟一个栈的push和pop操作,且在输入PeekMedian时输出栈里所有数的中位数。 解题思路 使用c++的内置库stack和pb_ds可快速解决,无需手写高级数据结构或者手动二分(懒)。使用了自带的红黑树中的**find_by_order(k)**查找第k大的元素,实现中位数查找,由于此处不支持mulity-set,所以不能有重复元素,需要用map定义一个偏移量,具体看代...原创 2020-04-18 10:41:57 · 232 阅读 · 0 评论 -
PAT甲级 1030 Travel Plan (最短路)
题目地址 题意 找到cost最少的最短路 解题思路 这个题目的解法可以说是很PAT了,dijkstra求出最短路距离后,dfs找到所有最短路比较cost,和之前写的1018一模一样。 代码 这里N只有500,为了方便就用邻接矩阵了(写完发现代码貌似比直接用vector还长。。。)。注意初始化inf就行了,这个题没什么细节。 #include<bits/stdc++.h> using n...原创 2020-04-14 19:55:50 · 136 阅读 · 0 评论 -
PAT 甲级 1026 Table Tennis (30分)(模拟排队)
题意 有几个桌子,n组人排队等打乒乓球,存在VIP客户与VIP桌,当VIP桌空闲时,第一个排队的VIP用户开始游戏。当VIP桌没有空闲时,VIP用户当作普通用户。输出每队的等待时间。 细节 每组最多玩两个小时 超过21点后不再开始游戏 VIP用户没有VIP桌时视为普通用户,不能插队抢普通桌 思路 先把输入的队列分为VIP队和普通队,排序。 再使用nowtime不断与队首的元素的到达时间比较,每轮循...原创 2020-04-13 17:23:42 · 158 阅读 · 0 评论 -
PAT甲级 1018 Public Bike Management (找到所有最短路)
题目大意 从0号点到p号点找一条最短路,沿途将所有点的自行车数量变为最大容量的一半,最后将剩余的自行车带回点0。问最少需要带多少个自行车来完成任务,在有两条路径带的自行车数量相同的条件下,选择最后带回数量最少的路径 解决方式 先求出两个点之间的最短路径,再从起点开始dfs,找到所有最短路径,找到路径之后再计算出发带的自行车与回去带的自行车 代码 #include<bits/stdc++.h&...原创 2020-04-06 19:14:49 · 137 阅读 · 0 评论