![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PAT
文章平均质量分 71
早迎朝阳晚迎星光
这个作者很懒,什么都没留下…
展开
-
1071. Speech Patterns
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1071/* * map:自动创建机制。 * transform:将某操作应用于指定范围的每个元素,类似于foreach。 * 定义在头文件algorithm中。 * ::tolower:将一个字符大写变小写。 */ #pragma warning(disable: 4786)原创 2014-03-21 23:11:12 · 833 阅读 · 0 评论 -
1004. Counting Leaves
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1004树的遍历,而非二叉树的遍历。采用孩子兄弟表示法,进行DFS。// 使用孩子兄弟表示法// 深度遍历#include #define SIZE 200+5struct Node{ int c;// chile int b;// brother};int原创 2014-03-13 22:44:48 · 520 阅读 · 0 评论 -
1053. Path of Equal Weight
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1053同一类型:路径长度、保存与给定值相同的路径长度、记录一定深度的路径、记录节点号/值。// 采用邻接表表示树// 用vector存储路径// 路径不止1一条,需用vector >存储所有路径// 输入时建树// 得到一个节点的所有子节点后,进行排序:按权值// dfs遍历原创 2014-03-21 08:14:05 · 714 阅读 · 0 评论 -
1060. Are They Equal
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1060转为科学计数法:输入没有固定格式,适合用char,读取一个字符,处理一个。 string适合输入格式固定,比如1073,科学计算表示。参考了newer的源码:http://blog.csdn.net/newner/article/details/9263993。原创 2014-03-21 08:43:25 · 592 阅读 · 0 评论 -
1015. Reversible Primes<数字的拆分>
按指定进制转换数字循序后,在计算十进制的值,是否仍为质数。拆分算法一//将10进制数x,按d进制逆转int Reverse(int x, int d){ int ans = 0; do{ ans = ans * d + x % d; x /= d; }while(x != 0); return ans;}拆分算法二借助队列实现,d为进制。queueq;原创 2014-03-10 15:02:30 · 731 阅读 · 0 评论 -
1062. Talent and Virtue
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1062德才论:按给定分类,然后进行排序。// 典型分类排序题#include #include #include #include #include #include #include #include #include #include #include #原创 2014-03-21 08:47:44 · 693 阅读 · 0 评论 -
1059. Prime Factors
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1059// 注意输入数据为1时特殊处理// 采取常规方法,先求出“所有”素数,再一次遍历。// 符合条件者入vector,最后输出。// #include #include #include #include #include #include #include #原创 2014-03-21 08:21:13 · 629 阅读 · 0 评论 -
1051. Pop Sequence
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1051栈的操作的检验// 孙佰贵#include #include #include using namespace std;int main(){ int M, N, K; scanf("%d%d%d",&M,&N,&K); for (int i = 0; i转载 2014-03-19 21:48:44 · 570 阅读 · 0 评论 -
1048. Find Coins
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1048查询#include #include #include using namespace std;vectorcoin;int n, m;int FindBest(int i){ int l=i+1, r=coin.size()-1; while(l <=原创 2014-03-19 21:45:37 · 717 阅读 · 0 评论 -
1047. Student List for Course
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1047建表、排序#include #include #include #include #include #define SIZE 2500+5using namespace std;vector course[SIZE];int n, k;void I原创 2014-03-19 21:43:07 · 724 阅读 · 0 评论 -
1044. Shopping in Mars
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1044// 折半查找// 参考了孙佰贵的代码// http://blog.csdn.net/sunbaigui/article/details/8656955#include #include #include #define SIZE 100000+10using原创 2014-03-19 21:41:16 · 720 阅读 · 0 评论 -
1043. Is It a Binary Search Tree
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1043// 之前写建树的代码都不标准// 本题的思路,参考了同学的思想:// 如果不符合条件,建树终止,后执行一次遍历,// 树的节点不足n,则代表建树失败。#include #include #include #define SIZE 100000+10using na原创 2014-03-19 21:34:59 · 515 阅读 · 0 评论 -
1037. Magic Coupon
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1037// 数学,排序#include #include #include #include #include #include #include #include #include #include #include #include using name原创 2014-03-17 21:14:03 · 602 阅读 · 0 评论 -
1032. Sharing
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1032模拟单词存储原生态版// NULL定义在stdio.h中,为0, 所以本题中直接用-1,不要用NULL#include #include #include #include #define SIZE 100000+10#define NULL -1 //会提示原创 2014-03-16 21:07:44 · 640 阅读 · 0 评论 -
1020. Tree Traversals
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1020二叉树建立、层次遍历// 层次遍历// 递归建立二叉树// vector/queue#include #include #include #include using namespace std;struct Tree{ int key; Tree* l原创 2014-03-15 21:10:17 · 597 阅读 · 0 评论 -
1073. Scientific Notation <string>
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1073string既然用到了string,我们就回顾一下常用的string接口,每一个接口都有几种重载,只需会用常用的即可。size()/begin()/end()就不提了。首先给出一个网址(http://www.com/reference/string/string/),自己经原创 2014-03-12 09:48:08 · 642 阅读 · 0 评论 -
pat:1011<advanced> <World Cup>
http://pat.zju.edu.cn/contests/pat-a-practise/1011很好的一题。重在思考暗含的数据关系。// PAT,高级题集// 考察查表及对表中信息的记录// #include char map[]={'W' ,'T', 'L'};int main(){#ifdef ONLINE_JUDGE#else freo原创 2014-03-02 23:00:03 · 531 阅读 · 0 评论 -
1063. Set Similarity
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1063使用set,简单数学题。// set::find()找不到时返回的是set::end()//#pragma warning(disable: 4786)#include #include #include #include #include #include原创 2014-03-21 08:51:03 · 625 阅读 · 0 评论 -
1064. Complete Binary Search Tree
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1064按正常思路,重点仍在建树,需要结合完全二叉树与二叉搜索树的性质,确定跟节点的位置。另外,其他思路见代码注释。/* * 参考:http://biaobiaoqi.me/blog/2013/08/31/pat-1061-pat-1064/ * * 使用数组存放完全二叉树,原创 2014-03-21 22:07:17 · 687 阅读 · 0 评论 -
1066. Root of AVL Tree
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1066考察AVL树的操作,大家从理论上都懂得过程,但实现起来。。。不知道怎么下手啊/* * 参考:http://biaobiaoqi.me/blog/2013/10/08/pat-1065-pat-1068/ * * 考察AVL树的建立,调整操作,树的高度的更新。 * 需特别注原创 2014-03-21 22:09:15 · 642 阅读 · 0 评论 -
1054:主元素<消除法><sort><partial_sort><nth_element>
http://pat.zju.edu.cn/contests/pat-a-practise/1054解法这个题目的解法,比较多的。1. 把不同的元素一对一消除,最后剩下的便是主元素。2. 先排序,主元素必是中位数。提示:下表为0, 1, 2, ......n-1 的中位数是a[(n-1)/2]。主要是想通过这个例子,对比一下三种sort的效率。解法一//原创 2014-03-09 09:47:50 · 895 阅读 · 0 评论 -
1052. Linked List Sorting
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1052这个题目告诉我们:读题、理解题目、分析题目很重要。题目说只有1个链表了吗?题目说链表的结尾一定是NULL了吗?链表空的时候应该输出什么?另外,都注意到NULL定义为-1了。这个题目用hash的方法,很适合的。因此也可以试着用map。数组hash的方法见:原创 2014-03-19 22:02:01 · 751 阅读 · 0 评论 -
1036. Boys vs Girls
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1036// 分类排序// #include #include #include #include #include #include #include #include #include #include #include using namespace st原创 2014-03-17 21:12:08 · 623 阅读 · 0 评论 -
1025. PAT Ranking
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1025// 先本地排序,在全局排序#include #include #include #include #include #include #include #include #include #include #include #include原创 2014-03-16 21:00:02 · 606 阅读 · 0 评论 -
PAT系列索引
1003. Emergencyhttp://blog.csdn.net/staibin/article/details/211950611004. Counting Leaveshttp://blog.csdn.net/staibin/article/details/211957511006. Sign I原创 2014-03-13 23:05:20 · 566 阅读 · 0 评论 -
1075. PAT Judge
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1075/* * 最后一个测试点错误原因:对成绩初始化时,错误。。。见具体代码处解释 * * 需要解决的几个问题: * 1. student应包含哪些成员,什么类型 * 2. 如何实现排序 * 3. 输入的成绩如何映射到student上,显然Hash。 * 本次使用vec原创 2014-03-21 23:12:26 · 1002 阅读 · 0 评论 -
1070. Mooncake
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1070/* * 贪心问题 * 坑:数量为double。这样符合实际问题,但是题目给的示例及题目信息尾 * 表明为double。 */#include #include #include using namespace std;struct Mooncake{ dou原创 2014-03-21 22:12:07 · 725 阅读 · 0 评论 -
1067. Sort with Swap(0,*)
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1067/* * 参考:http://biaobiaoqi.me/blog/2013/10/08/pat-1065-pat-1068/ * * 分析示例、找准方法: 把问题抽象为圈。 * dfs,并查集都可计算圈内元素个数。因此题结构简单,适合用dfs思想。 * 设一个圈有m个元素原创 2014-03-21 22:10:26 · 642 阅读 · 0 评论 -
1069. The Black Hole of Numbers<必看>
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1069本题提供两种解法。一种是按数字处理,一种是按字符处理。提示1. 题目说02. 本题中最隐藏的一个点:6174,为输入数据时,至少需要输出一次。 因此,至少执行一次减法。应该使用do,while。3. 对于补全4位,2中方法各有不同,具体见代码。4. atoi原创 2014-03-11 22:35:40 · 676 阅读 · 0 评论 -
1065. A+B and C (64bit)
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1065溢出当a,b同号时才会发生溢出。表1aba+b--+++-示例代码:#include int main(){ int a = 2000000000; int b = 200原创 2014-03-11 22:47:15 · 680 阅读 · 0 评论 -
1041. Be Unique
// 当题目给出一个范围的时候,应当想着用Hash的思想。// 如果使用传统的二次遍历方法,时间复杂度O(n^2).n太大时,会存在超时。// // // #include #include #define SIZE 100000+5int hash[SIZE];int Iindex[SIZE], max;int main(){#ifdef ONLINE_JU原创 2014-03-10 14:54:46 · 573 阅读 · 0 评论 -
1040. Longest Symmetric String
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1040暴力// 暴力破解// 分类讨论#include #include #include #include #include #include #include #include #include #include #include #include原创 2014-03-17 21:26:57 · 774 阅读 · 0 评论 -
1039. Course List for Student
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1039考察查找超时// 超时的可能原因:// 1. 使用了string// 2. 暴力查找太低效// // 当想着优化查找的时候,大神哈希一步到位#include #include #include #include #include #include #原创 2014-03-17 21:16:15 · 677 阅读 · 0 评论 -
1035. Password
http://pat.zju.edu.cn/contests/pat-a-practise/1035// #include #include #define SIZE 15#define MAXSIZE 1000+5void replace(char a[], char b[]){ int i=0; while(a[i] != 0) { switch(a[原创 2014-03-10 14:52:53 · 651 阅读 · 0 评论 -
1024. Palindromic Number
题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1024数字转换,大数加法#include #include #include using namespace std;void Add_string(string &a, string &b){ int i=a.size()-1; int flag=0; while(原创 2014-03-15 21:20:22 · 609 阅读 · 0 评论 -
1057. Stack
http://pat.zju.edu.cn/contests/pat-a-practise/1057本题直接使用STL的stack和set即可。但测试中存在2个测试点错误,于是改成自己模拟栈操作,任然存在错误。#include #include #include #define SIZE 100000+5using namespace std;原创 2014-03-10 15:48:26 · 601 阅读 · 0 评论 -
1042. Shuffling Machine
简单计算题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1042// // // // #include #include #include using namespace std;#define SIZE 60int order[SIZE];void Shuffling(string str原创 2014-03-11 18:18:43 · 629 阅读 · 0 评论 -
pat:1005<advanced> <字符转换为单词>
http://pat.zju.edu.cn/contests/pat-a-practise/10051.数字拆分。2.转为单词,用map,映射。3.边缘数据,仅仅一个0。#include #include #include #include #include #include #include #include #include #inclu原创 2014-03-02 22:57:39 · 503 阅读 · 0 评论 -
pat:1023
http://pat.zju.edu.cn/contests/pat-b-practise/1023// PAT,简单题集// 给几个数字,任意组合,0不可为首,求最小数// #include #include #include #include #include #include #include #include #include #inc原创 2014-03-02 22:44:06 · 660 阅读 · 0 评论 -
pat:1022<进制转换>
http://pat.zju.edu.cn/contests/pat-b-practise/1022先求A+B,在转换成制定进制redix;// PAT,简单题集// 进制转换:除商取余法。// A+B#include #include #include #include #include #include #include #include原创 2014-03-02 22:50:58 · 628 阅读 · 0 评论