![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PAT(乙级)
xsimah
再见少年拉满弓,不惧岁月不惧风。
1.近4篇专利、科技先进工作者、E类人才,通过高项等;
2.参与管理6+人数据分析(AI)团队;
3.多次荣获数据分析模型比赛单位一等奖、作品一等奖/三等奖、个人一等奖等;
展开
-
pat乙级-1002 写出这个数 (20分)刷题笔记(c++,测试用例)
写在前面难度:简单细节处理数字拼音字典错误,导致 1, 3, 5测试点错误!!!特此记录题目详情读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10100 。输出格式:在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。输入样例:1234567890987654321123456789输出样例:y原创 2020-07-12 23:39:43 · 651 阅读 · 0 评论 -
1015 德才论(附详细注释,逻辑分析)
写在前面实现思路结构体数组封装学生数据排序函数(最费时间、精力),级别越高,类型值越小(预定义)题目简单,时间主要耗费在分类、排序。45分钟内a题足够测试用例input:14 60 8010000001 64 9010000002 90 6010000011 85 8010000003 85 8010000004 80 8510000005 82 771000...原创 2019-08-11 17:59:39 · 243 阅读 · 0 评论 -
1048 数字加密(附详细注释,逻辑分析)
写在前面实现思路字符数组封装字符串数字反转后,遍历逐位累加转换;不足位数补0参与计算结果反转,打印输出题目较简单,15分钟a题最近略疲劳(代码撸多伤身),时间维度把握可能偏差测试用例input:1234567 368782971output:3695Q8118ac代码算法笔记#include <cstdio>#include <...原创 2019-08-11 16:27:35 · 516 阅读 · 0 评论 -
1024 科学计数法(附详细注释,逻辑分析)
写在前面实现思路(基础)读入字符串,循环定位字符E位置判断正负号,输出指数正,考虑是否补零;负,考虑小数点位置注意指数为0输出形式新题型,实现较负责。a题时间45分钟(偏长)测试用例input:+1.23400E-03output:0.00123400input:-1.2E+10output:-12000000000input:+3.1415...原创 2019-08-11 15:17:51 · 475 阅读 · 0 评论 -
1044 火星数字(附详细注释,逻辑分析,测试点2、测试点4)
写在前面实现思路火星文最多2位,每行给出一个 [0, 169) 区间内的数字 —— 或者是地球文,或者是火星文火星文转数字,map<string,int>数字转火星文,字符串数组注意:13的倍数,火星文只有高位字符串读入方式,换行符处理题目较简单,细节处理耗费时间测试用例input:4295elo novtamoutput:hel ma...原创 2019-08-15 02:07:36 · 1302 阅读 · 1 评论 -
1035 插入与归并(附详细注释,逻辑分析)
写在前面实现思路3个数组。1个原始序列,1个中间序列,1个排序序列循环比较各元素实现中间序列比较插入排序方法归并排序方法非插入即归并,需重置临时数组知识盲点,45分钟左右待实现个人版,学习代码不太了解后续补习插入、归并实现代码,再更测试用例input:103 1 2 8 7 5 9 4 6 01 2 3 7 8 5 9 4 6 0output:Ins...原创 2019-08-15 00:30:38 · 288 阅读 · 0 评论 -
1031 查验身份证(附详细注释,逻辑分析)
写在前面实现思路证件号前17位加权和计算,取模校验位对比题目较简单,细节处理耗费时间。例如,校验位下标从0开始大体10分钟a题,尽量掌握调试(虽至今不太习惯,大多靠猜)测试用例input:432012419880824005612010X19890101123411010819671130186637070419881216001Xoutput:1201...原创 2019-08-09 23:37:51 · 1151 阅读 · 0 评论 -
1037 在霍格沃茨找零钱(附详细注释,逻辑分析)
写在前面实现思路进制常量定义const intscanf读取方式统一进制计算,结果进制转换题目较简单,10分钟a题无废话多说参考优化后代码测试用例input:10.16.27 14.1.28output:3.2.1input:14.1.28 10.16.27output:-3.2.1ac代码统一进制后计算#include <ios...原创 2019-08-09 22:49:51 · 904 阅读 · 0 评论 -
1022 D进制的A+B(附详细注释,逻辑分析)
写在前面实现思路整型数组存储转换为目标进制数的每一位(倒序)倒序输出错误点进制范围1<D≤10,目标进制数位数最大长度(最小进制)31位题目较简单,10分钟a题足够测试用例input:123 456 8output:1103ac代码#include <iostream>using namespace std;int main(){...原创 2019-08-09 22:09:06 · 840 阅读 · 0 评论 -
1027 打印沙漏(附详细注释,逻辑分析)
写在前面实现思路等差数列层数计算公式,满足2*x^2-1<n公式的最大正整数x当层字符个数2*x-1当层空格个数(bottom-2*x+1)/2编译错误sqrt 函数,引入cmath函数库题目较简单,熟练情况下10分钟a题实在看不下去难理解的代码测试用例input:19 *output:***** *** * ********2...原创 2019-08-09 21:50:44 · 966 阅读 · 0 评论 -
1051 复数乘法(附详细注释,逻辑分析,测试点2,3)
写在前面实现思路实数部分A的实部*B的实部 + A的虚部 * B的虚部A的实部*B的实虚部 + A的虚部 * B的实部知识笔记复数可以写成 (A+Bi) 的常规形式,其中 A 是实部,B 是虚部,i 是虚数单位,满足 i^2 = −1其等价于三角形式 (R(cos(P)+sin(P)*i)实部和虚部均保留 2 位小数测试点(-0.005,1] 区间数字,...原创 2019-08-13 23:37:55 · 264 阅读 · 0 评论 -
1034 有理数四则运算(附详细注释,逻辑分析)
写在前面实现思路化简、约分函数(重点)加、减、乘、除四则运算分拆分子、分母进行化简、约分计算结果根据不同运算法则,打印等式结果注意事项整型*整型,可能会达到long long,使用int会出现数据溢出问题(测试点问题)最大公约数,分子分母绝对值公约数题目实现较复杂,有难度测试用例input:2/3 -4/2output:2/3 + (-2) = (-1 ...原创 2019-08-13 21:42:58 · 365 阅读 · 0 评论 -
1036 跟奥巴马一起编程(附详细注释,逻辑分析)
写在前面行数计算技巧row = (n+1)/2;行列字符输出技巧控制题目相对简单,15分钟a题(手生、困)测试用例input:10 aoutput:aaaaaaaaaaa aa aa aaaaaaaaaaaac代码双层循环,逻辑起决定性作用#include <iostream>using namesp...原创 2019-08-08 23:43:12 · 346 阅读 · 0 评论 -
1032 挖掘机技术哪家强(附详细注释,逻辑分析)
写在前面一维数组封装搞定maxID=0, maxScore=0 通过比较迭代更新最大学校成绩、最大学校编号题目无难度,10分钟秒题(略长)思考实现方式耗费些时间测试用例input:63 652 801 1002 703 403 0output:2 150ac代码#include <iostream>using namespace std;...原创 2019-08-08 22:56:27 · 152 阅读 · 0 评论 -
1028 人口普查(附详细注释,逻辑分析)
写在前面实现思路结构体封装姓名、出生年月人的元数据信息巧妙利用scanf读取格式出生日期有效性判断算法笔记代码略冗长,熟练的话10分钟内a题测试用例input:5John 2001/05/12Tom 1814/09/06Ann 2121/01/30James 1814/09/05Steve 1967/11/20output:3 Tom Johnac代码...原创 2019-08-08 22:31:59 · 882 阅读 · 0 评论 -
1025 反转链表(附详细注释,逻辑分析)
写在前面实现思路结构体封装数据根据order重新排序k区间值迭代翻转n整除k,则最后地址输出"-1"非整除,最后剩余区间,原序输出。最后地址输出"-1"题目有难度,区间边界值、实现方案费时间测试用例input:00100 6 400000 4 9999900100 1 1230968237 6 -133218 3 0000099999 5 682...原创 2019-08-13 15:54:58 · 185 阅读 · 0 评论 -
1041 考试座位号(附详细注释,逻辑分析)
写在前面实现思路结构体封装学生元信息,试机座位号作为下标long long 处理准考证号(16 位数字),也可用string题目较为简单,熟练情况下10分钟a题测试用例input:43310120150912233 2 43310120150912119 4 13310120150912126 1 33310120150912002 3 223 4outpu...原创 2019-08-08 21:04:26 · 586 阅读 · 2 评论 -
1019 数字黑洞(附详细注释,逻辑分析)
写在前面实现思路4位数字转整型数组,排序组合计算出最大、最小值循环打印输出等式,其中注意每个数字按 4 位数格式输出最大、最小差值为0或6174,跳出循环注意逻辑代码顺序题目较简单,时间花费:自定义函数。10分钟a题测试用例input:6767output:7766 - 6677 = 10899810 - 0189 = 96219621 - 1269 = 835...原创 2019-08-13 12:28:20 · 1177 阅读 · 0 评论 -
1033 旧键盘打字(附详细注释,逻辑分析)
写在前面实现思路字符数组存放字符串字符串空值,scanf("%s", str);读取异常,cin.getline(str, maxn);有效,测试点2整型、布尔数组初始化,int hashTable[256]; memset(hashTable, 1, sizeof(hashTable));存在部分知识盲点,耗费近1个小时,多次提交理顺耗费时间较长(存在知识盲点)...原创 2019-08-11 21:14:22 · 500 阅读 · 0 评论 -
1029 旧键盘(附详细注释,逻辑分析)
写在前面实现思路字符串数组2层循环遍历串a不在串b的字符,并打印输出。已打印过标记true题目较简单,10分钟内a题(时间略长)测试用例input:7_This_is_a_test_hs_s_a_esoutput:7TIac代码算法笔记(基础版)#include <cstring>#include <iostream>usin...原创 2019-08-11 19:16:30 · 893 阅读 · 1 评论 -
1039 到底买不买(附详细注释,逻辑分析 / 测试点2 4)
写在前面实现思路将字符串hash为整型,存储于整型数组中,并计数遍历目的字符串,字符对应计数减1下标区间覆盖,导致测试点2、4错误题目较简单,正常15分钟a题测试用例input:ppRYYGrrYBR2258YrR8RrYoutput:Yes 8input:ppRYYGrrYB225YrR8RrYoutput:No 2ac代码算法笔记(参考)...原创 2019-08-11 23:56:41 · 840 阅读 · 1 评论 -
B1040 有几个PAT (25 分 |简单数学,附详细注释,逻辑分析)
写在前面思路分析对于每1个A,它前面P的个数和它后面T的个数的乘积构成PAT个数。对于每1个A的结果相加即可先循环计数字符串有多少个T再循环计算每遇到1个T,cntt–每遇到1个P,cntp++每遇到字母A,结果累加cntt * cntp,并取余核心问题: 计数规律,最初理解错误核心问题解决后,10分钟a题测试用例input:APPAPTou...原创 2019-09-02 15:43:42 · 149 阅读 · 0 评论 -
B1085 PAT单位排行 (25 分| unordered_map| vector,附详细注释,逻辑分析)
写在前面思路分析1个map-cnt存储学校名称-参赛人数1个map-sum计算学校名称-加权成绩map中学校元数据信息封装至vector ans,类型为node对ans数组排序,按要求输出。pres表示前1个学校加权总分,pres和当前学校加权总分不同,rank下标+1否则不变问题点学校排名,间隔加权分数取整数是对最后总和取整(3分测试点)map最后1个测试点...原创 2019-09-02 15:09:07 · 233 阅读 · 1 评论 -
1057 数零壹 (20 分| 字符串| 2进制,附详细注释,逻辑分析)
写在前面实现思路getline接收行字符串字符串位,是字母(isalpha),字母转化大写,累加(s[i] - ‘A’ + 1)算出nn转化为2进制,对每一位处理,0则cnt0++1则cnt1++注意点字母 a-z 对应序号 1-26,不分大小写10进制转2进制题目简单,5分钟a题测试用例input:PAT (Basic)output:3 4...原创 2019-09-02 13:55:08 · 276 阅读 · 0 评论 -
B1063 计算谱半径 (20 分| 简单数学,附详细注释,逻辑分析)
写在前面实现思路maxs保存谱半径,%.2f输出max的值题目简单,5分钟a题问题点double : %lffloat : %f测试用例input:50 12 0-1 03 30 -3output:4.24ac代码#include <iostream>#include <cmath>using nam...原创 2019-09-01 22:34:01 · 200 阅读 · 0 评论 -
B1054 求平均值 (20 分 | 字符串处理,附详细注释,逻辑分析)
写在前面思路分析字符数组存储读入数据,char a[50], b[50];字符串格式化读取、格式化写入函数sscanf() – 从1个字符串中读进与指定格式相符的数据sprintf() – 字符串格式化命令,主要功能是把格式化的数据写入某个字符串问题点合法区间、合法实数校验,[−1000,1000]输出坑,numbers / numbersThe average...原创 2019-09-01 18:27:48 · 278 阅读 · 0 评论 -
B1062 最简分数 (20 分| 数学| 最大公约数,附详细注释,逻辑分析,测试点2/3/4)
写在前面思路分析最大公约数函数计算结果左右边界int left = 0, right = 0;左边界向上取整,右边界向下取整左右边界不包含区间迭代,最大公约数为1,打印当前分数结果自动有序测试点2个不相等的正分数非正序输出!左右边界问题,导致测试点2、3、4错误左右边界不包含if(n1*1.0/m1<n2*1.0/m2){ ...原创 2019-09-01 17:17:20 · 736 阅读 · 0 评论 -
B1089 狼人杀-简单版 (20 分| 简单模拟,附详细注释,逻辑分析)
写在前面参考思路输入数字保存在v容器数组i从1~n、j从i+1~n遍历,分别假设i和j是狼人a数组表示该人是狼人还是好人,等于1表示是好人,等于-1表示是狼人。k从1~n分别判断k所说的话是真是假,v[k] * a[abs(v[k])] < 0说谎,则将k放在lie数组中遍历完成后判断lie数组,如果说谎人数等于2并且这两个说谎的人1个好人1个狼人a[lie[0]...原创 2019-09-01 16:07:25 · 536 阅读 · 3 评论 -
B1053 住房空置率 (20 分| 简单题目,附详细注释,逻辑分析)
写在前面实现思路maybe可能空置,must空置累计小于e的次数sum,如果sum > (k / 2),表示超过一半的日子低于阈值e,可能空置再判断观察期k是否大于d,大于说明是空置,must++,否则是可能空置,maybe++,printf中使用2个百分号%%表示输出1个百分号题目简单,10分钟a题测试用例input:5 0.5 106 0.3 0.4 ...原创 2019-08-31 23:24:10 · 303 阅读 · 0 评论 -
B1052 卖个萌 (20 分| 字符串,附详细注释,逻辑分析)
写在前面实现思路vector容器封装表情结果,vector<vector<string>> face;循环字符读入循环字符输出(非法示例输出)问题点“Are you kidding me? @/@”的’\’是转义字符,想要输出’\’就要用’\’表示~题目简单,15分钟a题测试用例input:[╮][╭][o][~\][/~] [<...原创 2019-08-29 22:52:11 · 206 阅读 · 0 评论 -
1050 螺旋矩阵(附详细注释,逻辑分析)
写在前面实现思路整型数据存储待填充的正整数数组排序sort(a, a+N, cmp);四个循环,遍历数组赋值螺旋矩阵下标值计算耗时行每次全输出,列每次缩减2脑短路,有点儿慌,考场挂科有风险(盲点)烧脑ing测试用例input:1237 76 20 98 76 42 53 95 60 81 58 93output:98 95 9342 37 815...原创 2019-08-17 23:36:57 · 852 阅读 · 6 评论 -
1017 A除以B(附详细注释,逻辑分析)
写在前面实现思路字符串存储待读入的大数字符串,结构体bign封装大数字符串将大数字符串转存为bign辗转相除法计算除数、余数(不足补0)去掉高位0个人知识盲点,题目有难度测试用例input:123456789050987654321 7output:17636684150141093474 3input:2 7output:0 2ac代码算法笔记(倒...原创 2019-08-13 10:52:59 · 658 阅读 · 0 评论 -
1020 月饼(附详细注释,逻辑分析)
写在前面实现思路结构体封装月饼元数据,总库存、总售价、单价根据单价将结构体非增序排序正序循环,需求量递减库存量;库存大,更新需求量并累计收益,库存小,计算当前收益并累计打印输出结果,保留2位小数测试用例input:3 2018 15 1075 72 45output:94.50ac代码//72/15=4.8//75/18=4.17//45/10=4.5...原创 2019-08-12 23:23:40 · 183 阅读 · 0 评论 -
1023 组个最小数(附详细注释,逻辑分析)
写在前面实现思路整型数组存储数字出现次数,顺序表示我们拥有数字 0、数字 1、……数字 9 的个数找出非0的第一个数字,次数减1循环输出剩余数字逻辑思想再次学习!题目较简单,15分钟a题测试用例input:2 2 0 0 0 3 0 0 1 0output:10015558ac代码#include <iostream>using namespa...原创 2019-08-12 21:26:54 · 432 阅读 · 0 评论 -
1047 编程团体赛(附详细注释,逻辑分析)
写在前面实现思路整型数组累计队伍队员分数,队伍编号作为下标循环输出最大分数、获胜队伍题目较简单,5分钟a题测试用例input:63-10 9911-5 87102-1 0102-3 10011-9 893-2 61ouput:11 176ac代码#include <iostream>using namespace std;const ...原创 2019-08-12 19:08:52 · 274 阅读 · 0 评论 -
1042 字符统计(附详细注释,逻辑分析)
写在前面实现思路只处理字母(大小写)将字母hash到26个整数(巧妙)避免了字母字典排序问题注意: 避免通过scanf读入,存在空格等字符1题目较简单,0分钟内a题测试用例input:This is a simple TEST. There ARE numbers and other symbols 1&2&3...........output:...原创 2019-08-12 17:03:57 · 429 阅读 · 0 评论 -
1043 输出PATest(附详细注释,逻辑分析)
写在前面实现思路整型数组存储字符出现次数字符数组预定义排序题目简单,15分钟a题测试用例input:redlesPayBestPATTopTeePHPereatitAPPToutput:PATestPATestPTetPTePePeeac代码算法笔记(参考)#include <iostream>#include <cstring>...原创 2019-08-12 15:31:40 · 203 阅读 · 0 评论 -
1079 延迟的回文数(附详细注释,逻辑分析)
写在前面大数相加问题回文判断字符串与翻转字符串是否相等不等号判断,compare函数判断题目相对简单,10分钟a题字符串比较操作不熟练导致a题失败(使用网络百度)std::string::compareint strcmp ( const char * str1, const char * str2 );测试用例input : 97152output ...原创 2019-07-07 13:10:52 · 222 阅读 · 0 评论 -
1078. 字符串压缩与解压(附详细注释,逻辑分析)
写在前面创建压缩、解压函数压缩函数实现无难度解压函数需处理字符个数大于10的情况(耗费时间较多)题目相对容易,标准时间10分钟内个人不合格,解压函数耗费时间较多测试用例input: CTTTTThhiiiis isssss a tesssst CAaaa asoutput: 5T2h4is i5s a3 te4st CA3a asinput: D5T2h...原创 2019-07-07 11:44:11 · 509 阅读 · 0 评论 -
1076 Wifi密码(无测试用例,)
写在前面简单题目代码优化个人非极致最优测试用例题目简单,无须测试用例ac代码有些步骤较多余字符串角度完全能解决问题#include <map>#include <iostream>using namespace std;int main(){ int n; scanf("%d", &n); char c...原创 2019-06-23 13:55:44 · 512 阅读 · 0 评论