PAT
ax816
这个作者很懒,什么都没留下…
展开
-
Pat甲级 1002 A+B for Polynomials
Pat甲级 1002 A+B for Polynomials思路代码题目网址https://pintia.cn/problem-sets/994805342720868352/problems/994805526272000000思路数组下标表示指数,数组值表示系数.注意系数可以为负.代码#include <iostream>#include <iomanip>#include <vector>#define MAX 1001using namesp原创 2020-07-27 22:32:11 · 86 阅读 · 0 评论 -
Pat甲级 1001 A+B Format
Pat甲级 1001 A+B Format思路代码题目网址https://pintia.cn/problem-sets/994805342720868352/problems/994805528788582400思路a+b按照一定格式输出,都不是大数,直接加就完事儿了,注意下0+0的情况就好.我的代码是为了练习vector容器特意写成这样的,更简单的思路应该是把相加的数字转为string,然后判断输出逗号.代码#include <iostream>#include <cmat原创 2020-07-27 17:04:56 · 154 阅读 · 0 评论 -
Pat乙级 1049 数列的片段和
Pat乙级 1049 数列的片段和思路代码题目网址https://pintia.cn/problem-sets/994805260223102976/problems/994805275792359424思路观察给出的数据,得出规律,比如一共10个数,第二个数出现的次数为 2 * (10 - 2 + 1)次,得到公式 result = i * (n - i + 1)。因为double的精度误差问题,用long long对数据进行缩放再存储,最后再除。这里取1000参照了其他人的博客,跟测试数据是相关原创 2020-07-24 12:12:34 · 128 阅读 · 0 评论 -
Pat乙级 1045 快速排序
Pat乙级 1045 快速排序思路代码题目网址https://pintia.cn/problem-sets/994805260223102976/problems/994805278589960192思路25分的题直接暴力估计会超时。本题中主元的定义可以看成这样:左边没有比它大的,右边没有比它小的。用两个for循环分别从头和从尾扫一遍就可以了,用额外数组vis标记下。最后要额外输出一个换行,保证主元个数为0的情况的正确性,对应的测试点为测试点2–格式错误。代码#include<iostre原创 2020-07-23 17:19:36 · 160 阅读 · 0 评论 -
PAT C++常用函数(持续更新)
字符串处理stoi(string)string s = "0123456789";cout << s << endl;cout << stoi(s) - 1;Output:0123456789123456788substr(start, step)string s = "0123456789";cout << s << endl;s = s.substr(1, 3);cout << s;Output:0原创 2020-07-23 16:20:46 · 193 阅读 · 0 评论 -
Pat乙级 1034 有理数四则运算
Pat乙级 1034 有理数四则运算思路代码题目网址https://pintia.cn/problem-sets/994805260223102976/problems/994805287624491008思路注意两个点,一是辗转相除法递归会超时,二是int范围会爆,得用long,不然测试点2、3过不去。思路就是模拟。代码#include<iostream>#include<cmath>using namespace std;long gcd(long a, l原创 2020-07-22 17:09:42 · 144 阅读 · 1 评论 -
Pat乙级 1040 有几个PAT
Pat乙级1040 有几个PAT思路代码题目网址https://pintia.cn/problem-sets/994805260223102976/problems/994805282389999616思路有点动规的意思,PA出现的次数等于之前PA出现的次数加上当前P的次数(当前字符为’A’时),同理PAT出现的次数等于之前PAT出现的次数加上当前AP出现的次数(当前字符为’T’时)。具体看代码理解。代码#include<iostream>#define theNum 100000原创 2020-07-20 17:00:50 · 107 阅读 · 0 评论 -
Pat乙级 1038 统计同成绩学生
Pat乙级1038统计同成绩学生思路代码题目网址https://pintia.cn/problem-sets/994805260223102976/problems/994805284092887040思路注意下cin会超时。代码#include<iostream>#define MAX 100005using namespace std;int result[101] = {0};int main() { int n; int k; int index; in原创 2020-07-20 16:17:53 · 121 阅读 · 0 评论 -
Pat乙级 1058 选择题
Pat乙级1058 选择题思路代码题目网址https://pintia.cn/problem-sets/994805260223102976/problems/994805270356541440思路注意下输入的格式,用scanf处理。第1个测试点输出Too simple前先输出每个人的分数,然后输出Too simple,直接return 0。data二维数组中,每一行最后一个存那道题的分数,倒数第二个存正确选项的个数。代码#include<iostream>#define MA原创 2020-07-20 15:57:59 · 182 阅读 · 0 评论 -
Pat乙级1084 外观数列
Pat乙级1084思路注意点题目网址https://pintia.cn/problem-sets/994805260223102976/problems/994805260583813120思路从前往后数,碰到一样的就计数。我这里用三个数组实现,数组A存结果,B存数值,C存个数。例如,11,A=[1,1],B=[1],C=[2]。注意点测试点4的数组越界问题。解决办法是把数组开大,用全局变量。C/C++中数组大小的上限:https://blog.csdn.net/zfjBIT/article/原创 2020-07-15 20:55:06 · 110 阅读 · 0 评论 -
Pat乙级1089 狼人杀-简单版
Pat乙级1084思路代码题目网址https://pintia.cn/problem-sets/994805260223102976/problems/1038429385296453632思路题目中一共两个狼人,其中只有一个狼人说谎,好人阵营中一个好人说谎,一共两个人说谎。用两层for循环假设狼人身份,再内嵌一层循环去找说谎的好人。找到说谎的好人数量必须为1,这时候验证这两个狼人是不是只有一个人在说谎,找到就输出,结束程序,遍历完还找不到就是没有。代码#include<iostream&原创 2020-07-18 11:26:57 · 111 阅读 · 0 评论