![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PAT
迷亭1213
帅帅帅
展开
-
C++ PAT 1081. 检查密码 (15)
1081. 检查密码 (15)时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue本题要求你帮助某网站的用户注册模块写一个密码合法性检查的小功能。该网站要求用户设置的密码必须由不少于6个字符组成,并且只能有英文字母、数字和小数点".",还必须既有字母也有数字。输入格式:输入第一行给出一个正整数 N(<=100),随后 N 行,每行...原创 2018-03-22 20:38:04 · 5230 阅读 · 0 评论 -
PAT1127 如何根据后序遍历中序遍历建树?
原题链接:PAT1127解析:本题要求按s形层次遍历二叉树,如此一来建树就成了首要目的,然后再利用栈的先进后出的特性来s形遍历。于是难点主要放在了如何根据后序遍历和中序遍历来建立一颗二叉树。代码实例:#include<iostream>#include<cstring>#include<cstdio>#include<stack>...原创 2018-09-05 17:45:14 · 8907 阅读 · 0 评论 -
PAT1135 Red And Black Tree
原题链接:PAT1135解析:以前只是听说过红黑树,但是这次是第一次接触红黑树,如果考试时出现这种没看过的数据结构,挺麻烦的。判断一个二叉树是否为红黑树有三个条件:根节点是否为黑色 红色节点的子节点是否为黑色 每条路径上的黑色节点数量是否相同错误报告:主要是建树方面出了问题,我写的其他地方思路以及形式都和题解一样,只是我想用数组存树,带来了很多麻烦,最终也导致几个点一直过不去,改用指...原创 2018-09-05 08:24:19 · 8894 阅读 · 0 评论 -
PAT1139 First Contact
原题链接:PAT1139解析:这题真的很有陈越老师的风范。。。五个数据点没有一个是随机生成数据的,每个测试点都对应一个细节。由于是用'-'来表示女生,而int型读入数据如果是-0000,则表示为0,这样就丢失了性别,故需要用字符串读入 由于输出是要求四位数id,若id为0012,则%d会输出12,故需要%04d输出 如果是同性恋,那么要保证a找的朋友不能是b,b找的朋友不能是a代码实...原创 2018-08-27 21:58:29 · 5946 阅读 · 1 评论 -
PAT1146 Topological Order
原题链接:PAT1146解析:这题我第一次做只过了4个点,最后一个超时了。第一次方法是先用删边法求出所有拓扑排序,然后用map< vector<int>,bool>来检查给出的拓扑排序是否正确。然后我想用dfs计算拓扑排序的方法改进,但是书上显然没有对这种方法详细教程,因此试了四五次都过不了。其实这题可以用删边法的思想,先读入每个点,计算好他的入度,以及他的下一个节...原创 2018-08-20 17:25:55 · 5844 阅读 · 0 评论 -
PAT1147 Heap
原题链接:PAT1147解析:这题应该就是简单的堆模拟,如果看得懂英文题意的话不算难。我的做法利用了二叉树的一个性质,即从上往下从左往右依次为节点编号为0,1,2....,那么第i个节点的左子节点编号为2*i+1,右子节点2*i+2。我第一次没通过的原因:刚开始我判断循环条件为2*i+2 < n,这样就有个问题,如果2*i+i < n但是2*i+2 > n就漏判了一个2*...原创 2018-08-19 20:33:41 · 5785 阅读 · 0 评论 -
C++ PAT乙 1045. 快速排序(25)
这题用vector会方便一些。代码如下:#include<iostream>#include<cstdio>#include<algorithm>#include<vector>using namespace std;int main(){ int n; cin >> n; long long a[n],max = -1...原创 2018-03-21 16:58:54 · 4090 阅读 · 0 评论 -
C++ PAT乙 1070. 结绳(25)
emmm其他题讲起来很麻烦,但是这题很简单,我就说一下。这题目的是求所结绳子的最大长度,但是每次结绳会对折,也就是长度减半。这样的话短绳子损失的长度少,还有一个前提是结成一根绳子对折次数是一定的,所以只要尽量对折短绳子,减少长绳子对折次数就好了。代码如下:#include<iostream>#include<algorithm>using namespace std;...原创 2018-03-21 16:51:42 · 5549 阅读 · 0 评论 -
C++ PAT乙 1080. MOOC期终成绩 (25)
#include<iostream>#include<cstdio>#include<string>#include<algorithm>using namespace std;struct student{ string id; int g1 = -1;//编程 int g2 = -1;//期中 int g...原创 2018-03-21 16:47:26 · 1003 阅读 · 0 评论 -
C++ PAT 1073. 多选题常见计分法(20)
#include<iostream>#include<cstdio>#include<algorithm>#include<vector>using namespace std;struct que{ double sum; int cnum; int rnum; int cnt[5]; bool ans[5]; int ar;...原创 2018-03-21 16:45:23 · 634 阅读 · 0 评论 -
PAT乙 1084. 外观数列 (20) C/C++
1084. 外观数列 (20)时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue外观数列是指具有以下特点的整数序列:d, d1, d111, d113, d11231, d112213111, ...它从不等于 1 的数字 d 开始,序列的第 n+1 项是对第 n 项的描述。比如第 2 项表示第 1 项有 1 个 d,所以就是 d1...原创 2018-03-24 14:32:18 · 6649 阅读 · 0 评论 -
C/C++ PAT乙 1082. 射击比赛 (20)
1082. 射击比赛 (20)时间限制200 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue本题目给出的射击比赛的规则非常简单,谁打的弹洞距离靶心最近,谁就是冠军;谁差得最远,谁就是菜鸟。本题给出一系列弹洞的平面坐标(x,y),请你编写程序找出冠军和菜鸟。我们假设靶心在原点(0,0)。输入格式:输入在第一行中给出一个正整数 N(<= 10 ...原创 2018-03-22 21:56:25 · 3984 阅读 · 0 评论 -
PAT1123 AVL树的调整与判断完全二叉树
解析:这题我学了一天AVL树的调整,建好了树,又用了一个多小时尝试各种方法判断是否为完全二叉树,最后败在了输出层次遍历上。。解题步骤:建立AVL树,其中涉及AVL树的四种调整 输出层次遍历,用队列输出,不能用stack! 判断一棵树是否为完全二叉树,可以给每个节点编号,比如某个节点编号为id,它左儿子为2*id,右儿子为2*id+1,如果最大的编号为n,即为完全二叉树。(这也是完全二叉...原创 2018-09-06 20:18:07 · 9254 阅读 · 0 评论