
PTA乙级
m714星云
渣渣
展开
-
1002 写出这个数 (20分)
微信公众号:CodeFun思路用数组将拼音存起来,这样减少了代码长度。然后求和输出每一位的拼音。code#include <bits/stdc++.h>using namespace std;string c[10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};int main(){ int s...原创 2020-01-15 21:00:53 · 288 阅读 · 0 评论 -
Tree Traversals Again(Three kinds of solutions)
题目An inorder binary tree traversal can be implemented in a non-recursive way with a stack. For example, suppose that when a 6-node binary tree (with the keys numbered from 1 to 6) is traversed, the s...原创 2019-08-01 10:48:25 · 119 阅读 · 0 评论 -
List Leaves
题目Given a tree, you are supposed to list all the leaves in the order of top down, and left to right.Input Specification:Each input file contains one test case. For each case, the first line gives a...原创 2019-07-31 10:45:57 · 125 阅读 · 0 评论 -
堆中的路径(两种方法)1.直接插入O(lgn) 2.线性O(n)
题目将一系列给定数字插入一个初始为空的小顶堆H[]。随后对任意给定的下标i,打印从H[i]到根结点的路径。输入格式:每组测试第1行包含2个正整数N和M(≤1000),分别是插入元素的个数、以及需要打印的路径条数。下一行给出区间[-10000, 10000]内的N个要被插入一个初始为空的小顶堆的整数。最后一行给出M个下标。输出格式:对输入中给出的每个下标i,在一行中输出从H[i]到根结点的...原创 2019-07-24 11:35:48 · 242 阅读 · 0 评论 -
是否同一棵二叉搜索树 (25 分)
题目给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。输入格式:输入包含若干组测试数据。每组数据的第1行给出两个正整数N (≤10)和L,分别是每个序列插入元素的个数和需要...原创 2019-07-31 12:19:24 · 8421 阅读 · 5 评论 -
1014 福尔摩斯的约会 (20 分)
题目大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母 D,代表星期四;第 2 对相同的字符是 E ,那是第 5 个英文字...原创 2019-07-21 10:47:57 · 197 阅读 · 0 评论 -
1010 一元多项式求导 (25 分)
题目设计函数求一元多项式的导数。(注:xnx^nxn (n为整数)的一阶导数为nxn−1nx^{n−1}nxn−1)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 00。...原创 2019-07-21 10:18:11 · 1547 阅读 · 1 评论 -
1030 完美数列 (25 分)
题目给定一个正整数数列,和正整数 p,设这个数列中的最大值是 M,最小值是 m,如果 M≤mp,则称这个数列是完美数列。现在给定参数 p 和一些正整数,请你从中选择尽可能多的数构成一个完美数列。输入格式:输入第一行给出两个正整数 N 和 p,其中 N(≤10510^5105 )是输入的正整数的个数,p(≤10910^9109)是给定的参数。第二行给出 N 个正整数,每个数不超过 ...原创 2019-07-21 09:37:54 · 2441 阅读 · 1 评论 -
1034 有理数四则运算 (20 分)&&辗转相除法
题目本题要求编写程序,计算 2 个有理数的和、差、积、商。输入格式:输入在一行中按照 a1/b1 a2/b2 的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前,分母不为 0。输出格式:分别在 4 行中按照 有理数1 运算符 有理数2 = 结果 的格式顺序输出 2 个有理数的和、差、积、商。注意输出的每个有理数必须是该有理数的最简形式 k a/b,...原创 2019-07-19 11:07:32 · 823 阅读 · 0 评论 -
1033 旧键盘打字 (20 分)
题目旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?输入格式:输入在 2 行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过 10510^5105个字符的串。可用的字符包括字母 [a-z, A-Z]、数字 0-9、以及下划线 _(代表空格)、,、.、-、+(代...原创 2019-07-18 10:29:18 · 187 阅读 · 0 评论 -
1009 说反话 (20 分)
题目给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。输出格式:每个测试用例的输出占一行,输出倒序后的句子。输入样例:Hello World Here I ...原创 2019-07-16 11:05:24 · 223 阅读 · 0 评论 -
1008 数组元素循环右移问题 (20 分)
题目一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0A1⋯AN−1)变换为(AN−M⋯AN−1A0A1⋯AN−M−1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式:每个输入包含一个测试用例,第1行输入N(1≤N≤100)和M(≥0);第2行...原创 2019-07-16 10:06:13 · 415 阅读 · 0 评论 -
1005 继续(3n+1)猜想 (25 分)
题目卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对 n=3 进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对 n=5、8、4、2 进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这 4 个数已经在验证3的时候遇到过了,我们称 5...原创 2019-07-16 09:43:32 · 96 阅读 · 0 评论 -
1007 素数对猜想 (20 分)
题目让我们定义dn为:dn=pn+1−pn,其中pi是第i个素数。显然有d1=1,且对于n>1有dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N(<10^5),请计算不超过N的满足猜想的素数对的个数。输入格式:输入在一行给出正整数N。输出格式:在一行中输出不超过N的满足猜想的素数对的个数。输入样例:20输出样例:4题解...原创 2019-07-16 08:53:29 · 1266 阅读 · 0 评论 -
1003 我要通过! (20 分)
题目“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:字符串中必须仅有 P、 A、 T这三种字符,不可以包含其它字符;任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是仅由字母 A 组成的字符串;如果 a...原创 2019-07-15 14:10:28 · 1075 阅读 · 1 评论 -
1025 反转链表 (25 分)&&1074 reversing linked list
题目给定一个常数 K 以及一个单链表 L,请编写程序将 L 中每 K 个结点反转。例如:给定 L 为 1→2→3→4→5→6,K 为 3,则输出应该为 3→2→1→6→5→4;如果 K 为 4,则输出应该为 4→3→2→1→5→6,即最后不到 K 个元素不反转。输入格式:每个输入包含 1 个测试用例。每个测试用例第 1 行给出第 1 个结点的地址、结点总个数正整数 N (≤10^5 )...原创 2019-07-14 20:14:32 · 277 阅读 · 0 评论 -
1052 卖个萌 (20 分)
萌萌哒表情符号通常由“手”、“眼”、“口”三个主要部分组成。简单起见,我们假设一个表情符号是按下列格式输出的:[左手]([左眼][口][右眼])[右手]现给出可选用的符号集合,请你按用户的要求输出表情。输入格式:输入首先在前三行顺序对应给出手、眼、口的可选符号集。每个符号括在一对方括号 []内。题目保证每个集合都至少有一个符号,并不超过 10 个符号;每个符号包含 1 到 4 个非空字符。...原创 2019-08-14 12:39:48 · 129 阅读 · 0 评论 -
File Transfer
题目We have a network of computers and a list of bi-directional connections. Each of these connections allows a file transfer from one computer to another. Is it possible to send a file from any comput...原创 2019-08-03 10:57:57 · 293 阅读 · 0 评论 -
Complete Binary Search Tree (two kinds of solution)
题目A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties:The left subtree of a node contains only nodes with keys less than the node’s key.The right s...原创 2019-08-02 19:29:24 · 234 阅读 · 0 评论 -
1044 火星数字 (20 分)
题目pat乙级1044题目思路因为每个数不超过169,所以字符串最多只有两位。同时通过判断输入的字符第一个是否为数字,从而判断出是地球转火星还是火星转地球。代码#include <iostream>using namespace std;string a[13]={"tret","jan","feb","mar","apr","may","jun","jly","aug"...原创 2019-08-05 18:10:48 · 122 阅读 · 0 评论 -
1051 复数乘法 (15 分)&&浮点数的注意问题
题目pat乙级1051思路浮点数在0左右一定要注意,否则会出现-0的情况比如输入,35 3 0 0 ,会出先-0.00code#include <iostream>#include <cmath>using namespace std;int main(){ double r1,p1,r2,p2,a,b; cin>>r1>...原创 2019-08-05 19:38:48 · 170 阅读 · 0 评论 -
1062 最简分数 (20 分)
题目一个分数一般写成两个整数相除的形式:N/M,其中 M 不为0。最简分数是指分子和分母没有公约数的分数表示形式。现给定两个不相等的正分数 N1/M1和 N2/M2,要求你按从小到大的顺序列出它们之间分母为 K 的最简分数。输入格式:输入在一行中按 N/M 的格式给出两个正分数,随后是一个正整数分母 K,其间以空格分隔。题目保证给出的所有整数都不超过 1000。输出格式:在一行中按 ...原创 2019-08-08 11:13:50 · 832 阅读 · 0 评论 -
1069 微博转发抽奖 (20 分)
题目小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包。请你编写程序帮助他确定中奖名单。输入格式:输入第一行给出三个正整数 M(≤ 1000)、N 和 S,分别是转发的总量、小明决定的中奖间隔、以及第一位中奖者的序号(编号从 1 开始)。随后 M 行,顺序给出转发微博的网友的昵称(不超过 20 个字符、不包含空格回车的非空字符串)。注...原创 2019-08-10 18:59:25 · 213 阅读 · 0 评论 -
1065 单身狗 (25 分)
题目“单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。输入格式:输入第一行给出一个正整数 N(≤ 50 000),是已知夫妻/伴侣的对数;随后 N 行,每行给出一对夫妻/伴侣——为方便起见,每人对应一个 ID 号,为 5 位数字(从 00000 到 99999),ID 间以空格分隔;之后给出一个正整数 M(≤ 10 000),为参加派对的总...原创 2019-08-11 19:00:23 · 598 阅读 · 0 评论 -
1048 数字加密 (20 分)
题目本题要求实现一种数字加密方法。首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 13 取余——这里用 J 代表 10、Q 代表 11、K 代表 12;对偶数位,用 B 的数字减去 A 的数字,若结果为负数,则再加 10。这里令个位为第 1 位。输入格式:输入在一行中依次给出 A 和 B,均为不超过 1...原创 2019-08-05 08:59:44 · 133 阅读 · 0 评论