
PTA刷题
柳小茶
早睡早起
展开
-
每K个反转链表
1025反转链表(25分)给定一个常数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(≤105)、以及正整数K(≤N),即要求反转的子链结点的个数。结点的地址是 5 位非负整数...原创 2020-12-04 17:22:10 · 292 阅读 · 3 评论 -
vector 二维数组
1052卖个萌(20分)萌萌哒表情符号通常由“手”、“眼”、“口”三个主要部分组成。简单起见,我们假设一个表情符号是按下列格式输出的:[左手]([左眼][口][右眼])[右手]现给出可选用的符号集合,请你按用户的要求输出表情。输入格式:输入首先在前三行顺序对应给出手、眼、口的可选符号集。每个符号括在一对方括号[]内。题目保证每个集合都至少有一个符号,并不超过 10 个符号;每个符号包含 1 到 4 个非空字符。之后一行给出一个正整数 K,为用户请求的个数。随后 K 行,每行给...原创 2020-11-22 10:12:54 · 1085 阅读 · 0 评论 -
求平均值(数据和字符串混合,判断)
求平均值(20分)本题的基本要求非常简单:给定N个实数,计算它们的平均值。但复杂的是有些输入数据可能是非法的。一个“合法”的输入是 [−1000,1000] 区间内的实数,并且最多精确到小数点后 2 位。当你计算平均值的时候,不能把那些非法的数据算在内。输入格式:输入第一行给出正整数N(≤100)。随后一行给出N个实数,数字间以一个空格分隔。输出格式:对每个非法输入,在一行中输出ERROR: X is not a legal number,其中X是输入。最后在一行中输出...原创 2020-11-20 20:49:47 · 769 阅读 · 0 评论 -
有多少不同的值
有多少不同的值(20分)当自然数n依次取 1、2、3、……、N时,算式⌊n/2⌋+⌊n/3⌋+⌊n/5⌋有多少个不同的值?(注:⌊x⌋为取整函数,表示不超过x的最大自然数,即x的整数部分。)输入格式:输入给出一个正整数N(2≤N≤104)。输出格式:在一行中输出题面中算式取到的不同值的个数。输入样例:2017输出样例:1480直接就想到exist数组的方法了,,#include<bits/stdc++.h>usin...原创 2020-11-20 10:36:39 · 287 阅读 · 0 评论 -
外观数列
外观数列是指具有以下特点的整数序列:d, d1, d111, d113, d11231, d112213111, ...它从不等于 1 的数字d开始,序列的第 n+1 项是对第 n 项的描述。比如第 2 项表示第 1 项有 1 个d,所以就是d1;第 2 项是 1 个d(对应d1)和 1 个 1(对应 11),所以第 3 项就是d111。又比如第 4 项是d113,其描述就是 1 个d,2 个 1,1 个 3,所以下一项就是d11231。当然这个定义对d= 1 也成立。本题...原创 2020-11-19 18:51:02 · 964 阅读 · 0 评论 -
快速排序 ———寻找主轴
著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边。 给定划分后的N个互不相同的正整数的排列,请问有多少个元素可能是划分前选取的主元?例如给定 $N = 5$, 排列是1、3、2、4、5。则:1 的左边没有元素,右边的元素都比它大,所以它可能是主元; 尽管 3 的左边元素都比它小,但其右边的 2 比它小,所以它不能是主元; 尽管 2 的右边元素都比它大,但其左边的 3 比它大,所以它不能是主元;..原创 2020-11-19 11:16:23 · 313 阅读 · 0 评论 -
字符串压缩与解压
文本压缩有很多种方法,这里我们只考虑最简单的一种:把由相同字符组成的一个连续的片段用这个字符和片段中含有这个字符的个数来表示。例如ccccc就用5c来表示。如果字符没有重复,就原样输出。例如aba压缩后仍然是aba。解压方法就是反过来,把形如5c这样的表示恢复为ccccc。本题需要你根据压缩或解压的要求,对给定字符串进行处理。这里我们简单地假设原始字符串是完全由英文字母和空格组成的非空字符串。输入格式:输入第一行给出一个字符,如果是C就表示下面的字符串需要被压缩;如果...原创 2020-11-18 22:11:06 · 1382 阅读 · 0 评论