pat
风怜目尽无疆地s
纸上得来终觉浅,绝知此事要躬行
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PAT-BL-1011
2016-11-04记录,做题:2016-11-03易错点:结果的取值范围为long而不是int#include<stdio.h>int main(){ int t, i; long a, b, c; scanf("%d", &t); for(i = 0;i < t;i++) { scanf("%ld%ld%ld", &a, &b, &c); if(a-c+b原创 2016-11-04 20:33:29 · 549 阅读 · 0 评论 -
PAT-BL-1007
PAT-BL-10072016-11-05出错在把二层循环的循环变量j写成了i。编译出错:undefined reference to ‘sqrt’ 解决方法:gcc -o 1007 1007.c -lmwhy?undefined reference to ‘sqrt’/*pat-bl-1007 *2016-11-5 */#include<stdio.h>#include<math原创 2016-11-05 19:06:26 · 345 阅读 · 0 评论 -
PAT-BL-1008
PAT-BL-10082016-11-05思想:为了移动次数最少,不做循环右移,而是每次都把该数调整到最终位置未AC前出错3处 没对m>n的情况取模没分情况处理(没考虑m>=n/2时要左移)取模运算没搞清楚。a%b结果是正或负,取决于a的符号未解决问题:代码写的太乱,能否优化?/*pat-bl-1008 *2016-11-05 *未AC时出错共3处 */#include<stdi原创 2016-11-05 21:03:31 · 520 阅读 · 0 评论 -
pat-bl-1009
pat-bl-10092016-11-10更新2016-11-06方法: strtok函数分割字符串每次scanf一个(已解决)用C++写,基本数据类型、容器、迭代器。参考:PAT Basic Level 1009. 说反话(20)未AC前出错6处 gets() has been removed from C11 standard,所以要改用fgets()。参考:Implicit dec原创 2016-11-10 16:16:47 · 315 阅读 · 0 评论 -
pat-bl-1012
pat-bl-10122016-11-10方法:对a1到a5分别做判断未AC前出错3处 第一个数是数据规模count是为了查看满足a1(或其他)的数到底有没有出现过(说好的都是正整数呢,不能判a5是否为零,必须判count计数)经尝试,发现a1需要判断的是“满足整除中的偶数”难点:判定点有问题。对是否是“N”的判断,a1和a5是有坑的,a1判偶数,a5判出现/** *pat-bl-1原创 2016-11-10 21:28:02 · 377 阅读 · 0 评论 -
pat-bl-1010
pat-bl-10102016-11-10方法:每次读两个做处理,直到EOF为止。系数为零时不输出未AC前出错1处:没有判断输入是只有一个”零多项式”的情况坑点:对零多项式的判断,怪不得题目里面写了这个,算是提示吗?/** *pat-bl-1010 *2016-11-10 *C version *方法:每次读入两个直到文件尾,处理完后输出,注意判断运算后系数为0的就跳过不输出了 *原创 2016-11-10 22:19:27 · 291 阅读 · 0 评论 -
pat-bl-1013
pat-bl-10132016-11-12方法:求出从1到第n个素数,存储到prime数组里;最后输出从m到第n个素数未AC前出错2处,都是比较智障的错误,见代码内注释难点:输出格式算是一个小难点,见代码内注释/**pat-bl-1013 *2016-11-12 *C version 1.0 *未AC前出错2处 */#include<stdio.h>#include<math.h原创 2016-11-12 17:28:35 · 347 阅读 · 0 评论 -
pat-bl-1017
pat-bl-10172016-11-16方法:和手工做除法时一样注意:商的第一位如果为零的情况,以及对a小于b时的特殊处理/** *pat-bl-1017 *2016-11-16 *C version 1.0 *方法:采用了手工做除法时的步骤 *注意点:商的第一位如果为零的情况,以及对a小于b时的特殊处理 */#include<stdio.h>int main(){ ch原创 2016-11-16 20:34:49 · 334 阅读 · 0 评论 -
pat-bl-1014
pat-bl-10142016-11-13方法:循环+判断未AC前出错3处,见代码内注释坑点:要仔细读题,到底是大写还是小写,是英文字符还是字符,是判断字符还是判断下标位置,以及判断的边界在哪里,都要搞清楚/** *pat-bl-1014 *2016-11-13 *C version 1.0 *未AC前出错3处 *坑点:要仔细读题,到底是大写还是小写,是英文字符还是字符,是判断字符原创 2016-11-13 17:26:06 · 311 阅读 · 0 评论 -
pat-bl-1018
pat-bl-10182016-11-17做的比较繁杂,看能不能优化方法:在胜平负矩阵的基础上,将手势在字符和数字之间转换,得到胜平负结果并记录手势的胜次/** *pat-bl-1018 *2016-11-17 *C version 1.0 */#include<stdio.h>char max(int x, int y, int z){//返回最大值所对应的手势 if(x >=原创 2016-11-17 15:27:50 · 270 阅读 · 0 评论 -
pat-bl-1015
pat-bl-10152016-11-14方法:在输入的时候就分到各自的桶里,然后分别排序后输出利用freopen(“in.txt”, “r”, stdin);进行样例作为文件输入,就不用每次都复制粘贴了利用algorithm中的sort(stu1, stu1+cnt1, cmp);进行排序cmp的写法/** *pat-bl-1015 *2016-11-14 *C++ version原创 2016-11-14 20:02:06 · 323 阅读 · 0 评论 -
pat-bl-1019
pat-bl-10192016-11-18方法:在数字和字符数组之间转换,进行处理后输出利用sprintf和sscanf进行数字和字符串的转变,不用自己写函数了坑点:注意转换和输出时的格式控制,以及对边界的处理,具体见注释/** *pat-bl-1019 *2016-11-18 *C version *注意格式控制 */#include<stdio.h>int main(){原创 2016-11-18 17:06:07 · 281 阅读 · 0 评论 -
pat-bl-1016
pat-bl-10162016-11-15简单题。字符串读入,遍历判断就可以了/** *pat-bl-1016 *2016-11-15 *C version 1.0 */#include<stdio.h>int main(){ char a[10], da, b[10], db; int pa, pb; int i; //freopen("in.txt", "r",原创 2016-11-15 17:58:49 · 298 阅读 · 0 评论 -
pat-bl-1020
pat-bl-10202016-12-16使用了结构体,利用sort排序/** *pat-bl-1020 *2016-12-16 *C++ version * */#include<iostream>#include<algorithm>using namespace std;struct MOONCAKE{ double amount; double price;原创 2016-12-16 16:43:43 · 236 阅读 · 0 评论 -
pat-bl-1021
pat-bl-10212016-12-18哈希表的入门小应用,很简单的一题/** *pat-bl-1021 *2016-12-18 *C version * */#include<stdio.h>int main(){ char tmp; int hs[10] = {0}; freopen("in.txt", "r", stdin); while (scanf("%原创 2016-12-18 23:31:24 · 277 阅读 · 0 评论 -
1018.Public Bike Management (30)
1018.Public Bike Management (30)pat-al-10182017-02-02题意:找出耗时最短(单源最短路径)且send和back最少的路径dijkstra加dfsdfs中用了回溯法框架(其实我只学过回溯法,之前没有真的写过dfs……)关于send和back的计算稍微有点难理解,在草稿纸上写写对前驱节点使用了vector pre来保存,因为可能不止一个,没法用原创 2017-02-02 22:03:03 · 229 阅读 · 0 评论 -
1021.Deepest Root (25)
1021.Deepest Root (25)pat-al-10212017-02-04考点:深搜dfs关于连通分量的计算:从任一点出发开始深搜,结束一次搜索后如果还有点没被访问到(即,可以进行多次搜索)说明连通分量不止一个,能进行几次搜索就有几个连通分量关于题目要求的找最长的路径的起始点,参考了:1021. Deepest Root (25)-PAT甲级真题。个人理解:第一次出发开始搜索(不管原创 2017-02-04 16:35:41 · 396 阅读 · 0 评论 -
1034.Head of a Gang (30)
1034.Head of a Gang (30)pat-al-10342017-02-04图的遍历,连通分量,dfs对于每一个连通分量,要求其head和包含的成员个数,以及该gang的总权值套路:用map来映射名称和序号、visited、边e、节点权重weight练习了用迭代器输出map的内容坑见注释/** * pat-al-1034 * 2017-02-04 * Cpp vers原创 2017-02-04 20:47:47 · 241 阅读 · 0 评论 -
1007.Maximum Subsequence Sum (25)
1007.Maximum Subsequence Sum (25)pat-al-10072017-02-04最大子段和,动态规划典型题为什么maxSum必须设置为-1,不然有个测试点过不了,想不通,好气哦(:з」∠) 如果有知道的请告诉我谢谢⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄/** * pat-al-1007 * 2017-02-04 * C version * Author: fengL原创 2017-02-04 23:43:52 · 531 阅读 · 2 评论 -
1028.List Sorting (25)
1028.List Sorting (25)pat-al-10282017-02-05有测试点运行超时但觉得没什么问题的时候可以尝试把cin和cout换成scanf和printfchar字符串数组比较必须用strcmp函数,而不能像string类型可以直接比较坑见注释/** * pat-al-1028 * 2017-02-05 * Cpp version * Author: feng原创 2017-02-05 15:22:23 · 246 阅读 · 0 评论 -
1040.Longest Symmetric String (25)
1040.Longest Symmetric String (25)pat-al-10402017-02-05动态规划题,想清楚了就特别好做,不然……参考:1040. Longest Symmetric String (25)-PAT甲级真题是在求解一个上三角矩阵(右上),从求解对角线开始,斜向上求解,在草稿纸上画一画就理解了坑见注释/** * pat-al-1040 * 2017-0原创 2017-02-05 15:55:52 · 366 阅读 · 0 评论 -
1033.To Fill or Not to Fill (25)
1033.To Fill or Not to Fill (25)pat-al-10332017-02-05贪心在起始处没有加油站所以一步也走不了的情况特殊处理一下分三种情况,一是油箱加满也到不了下一个加油站(直接print能到的最远处然后return 0)、二是能走到的距离内有比当前站油价低的(就加够可以行驶到那一站的油就可以了)、三是能走到的距离内有加油站但没有比当前油价低的(那就加满油,行原创 2017-02-05 23:02:08 · 189 阅读 · 0 评论 -
1037.Magic Coupon (25)
1037.Magic Coupon (25)pat-al-10372017-02-06要得到最大的和,每次要从两行中各取出一个数,使之乘积为当前能找到的最大,那肯定是正数和正数相乘、负数和负数相乘(取绝对值最大的)。先从小到大排序,把负数相乘;再从大到小排序,把正数相乘。/** * pat-al-1037 * 2017-02-06 * Cpp version * Author: fen原创 2017-02-06 19:01:16 · 329 阅读 · 0 评论 -
1045.Favorite Color Stripe (30)
1045.Favorite Color Stripe (30)pat-al-10452017-02-07动态规划以当前color为结尾的最大串长取决于前面的color/** * pat-al-1045 * 2017-02-07 * C version * Author: fengLian_s */#include<stdio.h>#include<string.h>int ma原创 2017-02-07 22:29:05 · 332 阅读 · 0 评论 -
1012.The Best Rank (25)...to be continued...
1012.The Best Rank (25)…to be continued…pat-al-10122017-02-16结构体的排序问题复习了fill来初始化参考:1012. The Best Rank (25)-PAT甲级真题/** * pat-al-1012 * 2017-02-16 * Cpp version * Author: fengLian_s */#include原创 2017-02-16 16:14:24 · 259 阅读 · 0 评论 -
1014.Waiting in Line (30)...to be continued...
1014.Waiting in Line (30)…to be continued…pat-al-20142017-02-16参考:1014. Waiting in Line (30)-PAT甲级真题一个问题:代码的67行左右有一句:window[minWindow].q.push(T[index]);在上述参考的博客中写的是window[tempwindow].q.push(tempmin);原创 2017-02-16 17:13:31 · 228 阅读 · 0 评论 -
1016.Phone Bills (25)...to be continued...
1016.Phone Bills (25)…to be continued…pat-al-10162017-02-16坑见注释参考:《算法笔记:上机训练实战指南》机械工业出版社/** * pat-al-1016 * 2017-02-16 * Cpp version * Author: fengLian_s */ #include<stdio.h> #include<algorit原创 2017-02-16 20:58:17 · 238 阅读 · 0 评论 -
1017.Queueing at Bank (25)...to be continued...
1017.Queueing at Bank (25)…to be continued…pat-al-10172017-02-16坑见注释参考:《算法笔记:上机训练实战指南》机械工业出版社/** * pat-al-1017 * 2017-02-16 * Cpp version * Author: fengLian_s */#include<stdio.h>#include<vect原创 2017-02-16 21:47:28 · 338 阅读 · 0 评论 -
1055.The World's Richest (25)
1055.The World’s Richest (25)pat-al-10552017-02-08一开始思路是这样的:先按年龄排序,然后对每一查询,找到起始和结束的下标,将这一段按题意排序,依次输出,其中有些对于None情况的特殊判断,然后进行一次排序将数组还原。有一个测试点超时。查了查,发现有些说暴力排序会超时,要换方法,但是查到这个:solution Of 1055. The World’原创 2017-02-08 18:17:52 · 345 阅读 · 0 评论 -
1081.Rational Sum (20)
pat-al-10812017-01-27坑见注释方法:把输入一个一个加起来。化简需要求最大公约数,使用gcd/** * pat-al-1081 * 2017-01-27 * C version * Author: fengLian_s */#include<stdio.h>int gcd(long a, long b){ return b == 0 ? a : gcd(b原创 2017-01-28 00:31:58 · 844 阅读 · 0 评论 -
1077.Kuchiguse (20)
pat-al-10772017-01-27本题无坑方法:把字符串一个一个读进来,每个都逆序一下,并且在这个过程中记录一下最短的字符串的长度;然后开始对每个字符串的每个对应位置进行比较(这就是逆序的意义,为了方便比较),当遇到不相同的就置失败标志位为1并跳出;最后输出的时候注意判断一下后缀到底存不存在,如果存在就逆序输出答案。/** * pat-al-1077 * 2017-01-27 *原创 2017-01-27 23:43:32 · 463 阅读 · 0 评论 -
1073.Scientific Notation (20)
pat-al-10732017-01-27乙级也有这题,所以不详细写了。这次稍微换了一点实现的方式细心一点,坑见注释,但是估计每个人的坑都不一样,就自己写几个例子测一测吧/** * pat-al-1073 * 2017-01-27 * C version * Author: fengLian_s */#include<stdio.h>#include<string.h>int原创 2017-01-27 22:56:38 · 238 阅读 · 0 评论 -
1069.The Black Hole of Numbers (20)
pat-al-10692017-01-27乙级就写过这题,这次再写就优化了一下排序直接使用了sort使用sprintf和sscanf进行字符串和数字之间的转换坑见注释/** * pat-al-1069 * 2017-01-27 * Cpp version * Auhtor: fengLian_s */#include<iostream>#include<stdio.h>#i原创 2017-01-27 20:59:00 · 339 阅读 · 0 评论 -
1065.A+B and C (64bit) (20)
pat-al-10652017-01-27本来想用字符串处理的,后来想想觉得太麻烦,一条20分的题,应该有别的做法然后发现范围正好是卡在long long上的,只要不是边界问题(相加后溢出)就都能直接得出答案那么就是怎么处理溢出时候的问题,参考PAT 解题报告 1065. A+B and C (64bit) (20)中链接到的另一篇文章讲到了溢出判断坑:两种溢出判断的方法,一开始我使用了第一原创 2017-01-27 15:50:18 · 348 阅读 · 0 评论 -
1061.Dating (20)
pat-al-10612017-01-27读题一定要仔细。前两行找的是大写字母,后两行找的英文字母。坑具体见注释(就是每个判断都要限制一下)/** * pat-al-1061 * 2017-01-27 * C version * Author: fengLian_s */#include<stdio.h>#include<string.h>int main(){ char原创 2017-01-27 14:45:29 · 199 阅读 · 0 评论 -
1058.A+B in Hogwarts (20)
pat-al-10582017-01-27无坑,注意进位/** * pat-al-1058 * 2017-01-27 * C version * Author: fengLian_s */#include<stdio.h>int main(){ freopen("in.txt", "r", stdin); int aG, aS, aK, bG, bS, bK; sca原创 2017-01-27 14:17:10 · 255 阅读 · 0 评论 -
1046.Shortest Distance (20)
pat-al-10462017-01-27作为一道20分的题,一开始想的有点复杂了,在发现直接暴力搜索是会超时之后,开了一个二维数组去从左到右从上到下求得每个节点之间正向和反向的距离,然后得到了段错误在网上搜了一下:参考了这个PAT 解题报告 1046. Shortest Distance (20)的思想,自己写了一下(实现不一样),然后就AC了有点难理解的话还是在草稿纸上手工做一遍/**原创 2017-01-27 14:08:52 · 389 阅读 · 0 评论 -
1050.String Subtraction (20)
pat-al-10502017-01-26一个大坑之题,时间只有10ms所以要能省则省坑见注释/** * pat-al-1050 * 2017-01-26 * Cpp version * Author: fengLian_s */#include<stdio.h>#include<string.h>int main(){ char str1[10002]; char原创 2017-01-27 00:44:06 · 225 阅读 · 0 评论 -
1054.The Dominant Color (20)
pat-al-10542017-01-26写了好久的一题,一开始用c写的,全部用数组手动查找,一个测试点超时,一个测试点出错后来看到一个不错的思路:PAT 解题报告 1054. The Dominant Color (20)自己照着写了一下发现还是有一个测试点超时于是又找了一个新的方法:1054. The Dominant Color (20)-PAT甲级真题写了发现那个测试点依旧超时,突然想原创 2017-01-27 00:01:53 · 495 阅读 · 0 评论 -
1042.Shuffling Machine (20)
pat-al-10422017-01-26方法:对每张牌找其最终位置,然后将之放在最终位置上。其实就是把手工的方法给实现一下。利用字符串数组card来优化代码具体解释见注释注意一下数组的下标,容易出错/** * pat-al-1042 * 2017-01-26 * C version * Author: fengLian_s */#include<stdio.h>int ma原创 2017-01-26 22:52:23 · 299 阅读 · 0 评论
分享