![](https://img-blog.csdnimg.cn/20200522152555429.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
PAT甲级题目整理
PAT甲级题目解法和部分测试点通过方法。
溜肉段大师
这个作者很懒,什么都没留下…
展开
-
PAT 甲级级刷题笔记、类型归纳、相似题目汇总
目录 A1077. Kuchiguse原创 2020-03-06 09:31:10 · 326 阅读 · 0 评论 -
PAT 甲级A1051 Pop Sequence解题思路
#include<stdio.h> #include<stack> using namespace std; const int maxn = 1010; int arr[maxn]; stack<int> st; int main(){ int m,n,T; scanf("%d%d%d",&m,&n,&T); while(T...原创 2020-03-19 13:54:42 · 271 阅读 · 0 评论 -
PAT 甲级A1022 Digital Library (解题思路及测试点 4 解决办法)
当使用 map 且将map作为参数放入单独的函数中,尽量采用引用的形式,否则最后一个测试点将会出现超时。 如示例代码中第8行 #include<iostream> #include<string> #include<map> #include<set> #include<string> using namespace std; ma...原创 2020-03-19 11:48:59 · 615 阅读 · 1 评论 -
PAT A1071 解题思路
PAT 甲级刷题笔记: 使用 map(点击查看详细用法)统计单词出现次数。 代码: #include<cstdio> #include<string> #include<map> #include<iostream> using namespace std; string a; bool isWord(int i){ if((a[i] &...原创 2020-03-19 09:07:39 · 84 阅读 · 0 评论 -
PAT A1100 解题思路 及 测试点 1 解决方法
首先注意容易错的地方,即 13 的整数倍转换为火星文时不要带最后的 tret 。 还要注意输入的字母有没有打错!最好直接复制粘贴!!! 测试点1涉及到 0 的转化,有这个错误的同学可以试一下。 第一种方法是自己写的: 逐个处理特殊情况比较复杂,没用过STL 的同学可以使用这个方法。 #include<stdio.h> #include<string.h> c...原创 2020-03-18 20:39:22 · 377 阅读 · 0 评论 -
PAT 甲级 A1060 解题方法 以及 可用测试点
甲级题目汇总归纳 若题目中出现错误,建议使用如下的测试用例: 4 0000 0000.00 4 00123.5678 0001235 3 0.0520 0.0521 4 00000.000000123 0.0000001230 4 00100.00000012 100.00000013 5 0010.013 10.012 4 123.5678 123.5 3 123.5678 123 4 1...原创 2020-03-17 09:07:16 · 586 阅读 · 0 评论 -
PAT 甲级A1063解题方法
考虑到同一组元素中可能有相同的值,需要进行过滤,因此选用更为方便的 set。 代码(算法笔记优化): #include<stdio.h> #include<set> using namespace std; const int N = 51; set<int> num[N]; void cmp(int x,int y){ int totalnum ...原创 2020-03-16 15:52:04 · 160 阅读 · 0 评论 -
PAT 甲级A1047 解题方法
思路和1039非常相似,不过这次对于课程创建变长数组,vector数组使用方法点此。 #include<cstdio> #include<cstring> #include<algorithm> #include<vector> using namespace std; const int N = 40010; const int M = 2...原创 2020-03-16 10:06:52 · 188 阅读 · 0 评论 -
PAT 甲级A1039 解题要点
1.不能使用map映射学生姓名和学生编号,使用最后一组数据可能超时。 2.不能直接开二维数组存储学生所选课程,否则会导致内存超限。 解决方法: 1.采用hash的方法完成姓名和编号的映射。 2.采用vector存储学生所选课程。(vector使用方法请点击超链) 代码如下: #include<cstdio> #include<cstring> #include...原创 2020-03-16 08:59:15 · 407 阅读 · 0 评论 -
PAT 甲级A1104 测试点2 3 未通过解决办法
使用如下的代码段测试点 2 3 会出现答案错误: #include<stdio.h> int main(){ int n; scanf("%d",&n); double a[n]; double num[n] = {0}; for(int i = 0;i < n;i++){ scanf("%lf",&a[i]); } double ...原创 2020-03-13 09:10:55 · 906 阅读 · 1 评论 -
PAT 甲级A1029 测试点3 6 未通过解决办法
若采用先计算位置,count计数直到所求位置的方法(two_point法)且出现测试点3 6 未通过,建议尝试以下测试用例。 input: 3 1 2 3 9 4 5 6 7 8 9 10 11 12 正确的output应该为: 6 若输出错误,很有可能是因为比较过程中,一个数组已经走到了尽头,这时,在数组末尾保存一个无限大的数,就可以解决此类问题,代码如下: #include...原创 2020-03-12 10:59:59 · 662 阅读 · 1 评论 -
PAT甲级 A1048 测试点1 未通过解决方法
提交代码仅有测试点1未通过,建议测试以下用例: input 5 15 1 16 15 12 20 ouput(right) No Solution 若使用标记数组记录数字出现次数,且在循环中不对标记数组中大于总钱数的值进行处理,则有可能输出错误: 20 -5 修改后的代码(未优化): #include<stdio.h> #include<stdlib.h&...原创 2020-03-08 11:09:04 · 709 阅读 · 1 评论