数据结构
ljz2015301785
这个作者很懒,什么都没留下…
展开
-
PAT(B.1081 检查密码)
1081 检查密码 (15 分)本题要求你帮助某网站的用户注册模块写一个密码合法性检查的小功能。该网站要求用户设置的密码必须由不少于6个字符组成,并且只能有英文字母、数字和小数点 .,还必须既有字母也有数字。输入格式:输入第一行给出一个正整数 N(≤ 100),随后 N 行,每行给出一个用户设置的密码,为不超过 80 个字符的非空字符串,以回车结束。输出格式:对每个用户的密码,...原创 2019-02-26 14:16:33 · 139 阅读 · 0 评论 -
PAT(B.1053 住房空置率)
1053 住房空置率 (20 分)在不打扰居民的前提下,统计住房空置率的一种方法是根据每户用电量的连续变化规律进行判断。判断方法如下:在观察期内,若存在超过一半的日子用电量低于某给定的阈值 e,则该住房为“可能空置”;若观察期超过某给定阈值 D 天,且满足上一个条件,则该住房为“空置”。现给定某居民区的住户用电量数据,请你统计“可能空置”的比率和“空置”比率,即以上两种状态的住房占...原创 2019-02-25 21:10:12 · 169 阅读 · 0 评论 -
PAT(B.1081 检查密码)
1081 检查密码 (15 分)本题要求你帮助某网站的用户注册模块写一个密码合法性检查的小功能。该网站要求用户设置的密码必须由不少于6个字符组成,并且只能有英文字母、数字和小数点 .,还必须既有字母也有数字。输入格式:输入第一行给出一个正整数 N(≤ 100),随后 N 行,每行给出一个用户设置的密码,为不超过 80 个字符的非空字符串,以回车结束。输出格式:对每个用户的密码,...原创 2019-02-25 20:57:44 · 95 阅读 · 0 评论 -
PAT(B.1084 外观数列)
1084 外观数列 (20 分)外观数列是指具有以下特点的整数序列: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。又比...转载 2019-02-25 20:34:50 · 290 阅读 · 0 评论 -
PAT(B.1086 就不告诉你)
输入格式:输入在第一行给出两个不超过 1000 的正整数 A 和 B,其间以空格分隔。输出格式:在一行中倒着输出 A 和 B 的乘积。输入样例:5 7输出样例:53#include<iostream>using namespace std; int main(){ int A,B; cin>>A>>B; int N =...原创 2019-02-25 20:29:41 · 907 阅读 · 0 评论 -
PAT(B.1075 链表元素分类)
1075 链表元素分类 (25 分)给定一个单链表,请编写程序将链表元素进行分类排列,使得所有负值元素都排在非负值元素的前面,而 [0, K] 区间内的元素都排在大于 K 的元素前面。但每一类内部元素的顺序是不能改变的。例如:给定链表为 18→7→-4→0→5→-6→10→11→-2,K 为 10,则输出应该为 -4→-6→-2→7→0→5→10→18→11。输入格式:每个输入包含一个...原创 2019-02-27 17:04:07 · 205 阅读 · 0 评论 -
PAT(B.1085 PAT单位排行)
1085 PAT单位排行 (25 分)每次 PAT 考试结束后,考试中心都会发布一个考生单位排行榜。本题就请你实现这个功能。输入格式:输入第一行给出一个正整数 N(≤105 ),即考生人数。随后 N 行,每行按下列格式给出一个考生的信息:准考证号 得分 学校其中准考证号是由 6 个字符组成的字符串,其首字母表示考试的级别:B代表乙级,A代表甲级,T代表顶级;得分是 [0...转载 2019-02-27 17:01:13 · 197 阅读 · 0 评论 -
PAT(B.1035 插入与归并)
1035 插入与归并 (25 分)根据维基百科的定义:插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置。如此迭代直到全部元素有序。归并排序进行如下迭代操作:首先将原始序列看成 N 个只包含 1 个元素的有序子序列,然后每次迭代归并两个相邻的有序子序列,直到最后只剩下 1 个有序的序列。现给定原始序列和...原创 2019-02-27 16:58:27 · 119 阅读 · 0 评论 -
PAT(B.1060 爱丁顿数)
1060 爱丁顿数 (25 分)英国天文学家爱丁顿很喜欢骑车。据说他为了炫耀自己的骑车功力,还定义了一个“爱丁顿数” E ,即满足有 E 天骑车超过 E 英里的最大整数 E。据说爱丁顿自己的 E 等于87。现给定某人 N 天的骑车距离,请你算出对应的爱丁顿数 E(≤N)。输入格式:输入第一行给出一个正整数 N (≤105 ),即连续骑车的天数;第二行给出 N 个非负整数,...原创 2019-02-27 16:57:39 · 207 阅读 · 0 评论 -
PAT(B.1030 完美数列)
1030 完美数列 (25 分)给定一个正整数数列,和正整数 p,设这个数列中的最大值是 M,最小值是 m,如果 M≤mp,则称这个数列是完美数列。现在给定参数 p 和一些正整数,请你从中选择尽可能多的数构成一个完美数列。输入格式:输入第一行给出两个正整数 N 和 p,其中 N(≤105 )是输入的正整数的个数,p(≤109 )是给定的参数。第二行给出 N 个正...原创 2019-02-22 16:32:33 · 300 阅读 · 0 评论 -
PAT(B.1038 统计同成绩学生)
1038 统计同成绩学生 (20 分)本题要求读入 N 名学生的成绩,将获得某一给定分数的学生人数输出。输入格式:输入在第 1 行给出不超过 105 的正整数 N,即学生总人数。随后一行给出 N 名学生的百分制整数成绩,中间以空格分隔。最后一行给出要查询的分数个数 K(不超过 N 的正整数),随后是 K 个分数,中间以空格分隔。输出格式:在一行中按查询顺序给出得分等...原创 2019-02-22 16:16:16 · 164 阅读 · 0 评论 -
PAT(B.1029 旧键盘)
1029 旧键盘 (20 分)旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。输入格式:输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过 80 个字符的串,由字母 A-Z(包括大、小写)、数字 0-9、以及下划线 _(代表空格)组成。题目保证 2 个字符串均非空。...转载 2019-02-22 16:06:17 · 117 阅读 · 0 评论 -
C++find函数相关用法
C++中STL里提供了许多字符串操作的函数,下面是字符串查找方面的部分函数用法简介:1.find()查找第一次出现的目标字符串:#include<iostream>#include<cstdio>using namespace std; int main(){string s1 = "abcdef";string s2 = "de";...转载 2019-02-22 15:59:57 · 5888 阅读 · 0 评论 -
PAT(B.1089 狼人杀)
1089 狼人杀-简单版 (20 分)以下文字摘自《灵机一动·好玩的数学》:“狼人杀”游戏分为狼人、好人两大阵营。在一局“狼人杀”游戏中,1 号玩家说:“2 号是狼人”,2 号玩家说:“3 号是好人”,3 号玩家说:“4 号是狼人”,4 号玩家说:“5 号是好人”,5 号玩家说:“4 号是好人”。已知这 5 名玩家中有 2 人扮演狼人角色,有 2 人说的不是实话,有狼人撒谎但并不是所有狼人都在...转载 2019-02-22 15:16:06 · 280 阅读 · 0 评论 -
PAT(B.1064朋友数)
1064 朋友数 (20 分)如果两个整数各位数字的和是一样的,则被称为是“朋友数”,而那个公共的和就是它们的“朋友证号”。例如 123 和 51 就是朋友数,因为 1+2+3 = 5+1 = 6,而 6 就是它们的朋友证号。给定一些整数,要求你统计一下它们中有多少个不同的朋友证号。输入格式:输入第一行给出正整数 N。随后一行给出 N 个正整数,数字间以空格分隔。题目保证所有数字小于 ...转载 2019-02-22 15:09:13 · 152 阅读 · 0 评论 -
PAT(B.1078)
1078 字符串压缩与解压 (20 分)文本压缩有很多种方法,这里我们只考虑最简单的一种:把由相同字符组成的一个连续的片段用这个字符和片段中含有这个字符的个数来表示。例如 ccccc 就用 5c 来表示。如果字符没有重复,就原样输出。例如 aba 压缩后仍然是 aba。解压方法就是反过来,把形如 5c 这样的表示恢复为 ccccc。本题需要你根据压缩或解压的要求,对给定字符串进行处理。...原创 2019-02-22 14:43:50 · 249 阅读 · 0 评论 -
PAT(B.1090 危险品装箱)
1090 危险品装箱 (25 分)集装箱运输货物时,我们必须特别小心,不能把不相容的货物装在一只箱子里。比如氧化剂绝对不能跟易燃液体同箱,否则很容易造成爆炸。本题给定一张不相容物品的清单,需要你检查每一张集装箱货品清单,判断它们是否能装在同一只箱子里。输入格式:输入第一行给出两个正整数:N (≤104 ) 是成对的不相容物品的对数;M (≤100) 是集装箱货品清单的单数...原创 2019-02-25 21:13:14 · 219 阅读 · 0 评论 -
PAT(B.1066 图像过滤)
1066 图像过滤 (15 分)图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来。现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色替换。输入格式:输入在第一行给出一幅图像的分辨率,即两个正整数 M 和 N(0<M,N≤500),另外是待过滤的灰度值区间端点 A 和 B(0≤A<B≤255)、以及指定的替换灰度值。随后 M ...原创 2019-02-25 21:15:51 · 114 阅读 · 0 评论 -
PAT(B.1057 数零壹)
1057 数零壹 (20 分)给定一串长度不超过 105 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二进制表示中有多少 0、多少 1。例如给定字符串 PAT (Basic),其字母序号之和为:16+1+20+2+1+19+9+3=71,而 71 的二进制是 1000111,即有 3 个 0、...原创 2019-02-25 21:19:36 · 140 阅读 · 0 评论 -
PAT(B.1088 三人行)
1088 三人行 (20 分)子曰:“三人行,必有我师焉。择其善者而从之,其不善者而改之。”本题给定甲、乙、丙三个人的能力值关系为:甲的能力值确定是 2 位正整数;把甲的能力值的 2 个数字调换位置就是乙的能力值;甲乙两人能力差是丙的能力值的 X 倍;乙的能力值是丙的 Y 倍。请你指出谁比你强应“从之”,谁比你弱应“改之”。输入格式:输入在一行中给出三个数,依次为:M(你自己的能力...原创 2019-02-26 14:14:26 · 162 阅读 · 0 评论 -
PAT(B.1048 数字加密)
1048 数字加密 (20 分)本题要求实现一种数字加密方法。首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 13 取余——这里用 J 代表 10、Q 代表 11、K 代表 12;对偶数位,用 B 的数字减去 A 的数字,若结果为负数,则再加 10。这里令个位为第 1 位。输入格式:输入在一行中依...原创 2019-02-26 14:13:04 · 178 阅读 · 1 评论 -
PAT(B.1044 火星数字)
1044 火星数字 (20 分)火星人是以 13 进制计数的:地球人的 0 被火星人称为 tret。地球人数字 1 到 12 的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep, oct, nov, dec。火星人将进位以后的 12 个高位数字分别称为:tam, hel, maa, huh, tou, kes, hei, elo, s...原创 2019-02-26 14:11:49 · 105 阅读 · 0 评论 -
PAT(B.1035 插入与归并)
1035 插入与归并 (25 分)根据维基百科的定义:插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置。如此迭代直到全部元素有序。归并排序进行如下迭代操作:首先将原始序列看成 N 个只包含 1 个元素的有序子序列,然后每次迭代归并两个相邻的有序子序列,直到最后只剩下 1 个有序的序列。现给定原始序列和...原创 2019-02-26 14:10:25 · 161 阅读 · 0 评论 -
PAT(B.1015 德才论)
#include <iostream>#include <algorithm>#include <vector>using namespace std;struct node { int num, de, cai;};int cmp(struct node a, struct node b) { if ((a.de + a.cai...原创 2019-02-26 14:09:10 · 201 阅读 · 1 评论 -
PAT(B.1010 一元多项式求导)
1010 一元多项式求导 (25 分)设计函数求一元多项式的导数。(注:xn (n为整数)的一阶导数为nxn−1 。)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是...原创 2019-02-26 14:08:04 · 130 阅读 · 0 评论 -
PAT(B.1080 mooc的最终成绩)
#include <iostream>#include <algorithm>#include <vector>#include <map>using namespace std;struct node { string name; int gp, gm, gf, g;};bool cmp(node a, node b...原创 2019-02-26 14:06:35 · 316 阅读 · 0 评论 -
PAT(B.1094谷歌的招聘)
输入格式:输入在第一行给出 2 个正整数,分别是 L(不超过 1000 的正整数,为数字长度)和 K(小于 10 的正整数)。接下来一行给出一个长度为 L 的正整数 N。输出格式:在一行中输出 N 中最早出现的 K 位连续数字所组成的素数。如果这样的素数不存在,则输出 404。注意,原始数字中的前导零也计算在位数之内。例如在 200236 中找 4 位素数,0023 算是解;但第一位...原创 2019-02-26 14:04:40 · 606 阅读 · 0 评论 -
PAT(B.1095 解码PAT准考证)
1095 解码PAT准考证 (25 分)PAT 准考证号由 4 部分组成:第 1 位是级别,即 T 代表顶级;A 代表甲级;B 代表乙级;第 2~4 位是考场编号,范围从 101 到 999;第 5~10 位是考试日期,格式为年、月、日顺次各占 2 位;最后 11~13 位是考生编号,范围从 000 到 999。现给定一系列考生的准考证号和他们的成绩,请你按照要求输出各种统计信息。...原创 2019-02-26 14:03:05 · 350 阅读 · 0 评论 -
PAT(B.1092最好吃的月饼)
#include <iostream>#include <vector>using namespace std;int a[1005][105], sum[1005];int main() { int m, n, maxn = 0, total = 0; vector<int> ans; cin >> m >&...转载 2019-02-20 16:28:34 · 199 阅读 · 0 评论 -
PAT(B.1020月饼)
1020 月饼 (25 分)月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 75、72、45 亿元。如果市场的最大需求量只有 20 万吨,那么...原创 2019-02-20 16:02:49 · 237 阅读 · 0 评论 -
PAT(B.1018锤子剪刀布)
#include<stdio.h>#include<string.h> int main(){ int num,i,draw=0,A_winsC=0,A_winsJ=0,A_winsB=0,B_winsC=0,B_winsJ=0,B_winsB=0; int AW=0,AF=0,BW=0,BF=0; char c1,c2; scanf...原创 2019-02-20 15:51:02 · 225 阅读 · 0 评论 -
PAT(B.1005继续3n+1的猜想)
卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对 n=3 进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对 n=5、8、4、2 进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这 4 个数已经在验证3的时候遇到过了,我们称 5、...原创 2019-02-20 15:32:18 · 127 阅读 · 0 评论 -
PAT(B.1058 选择题)
1058 选择题 (20 分)批改多选题是比较麻烦的事情,本题就请你写个程序帮助老师批改多选题,并且指出哪道题错的人最多。输入格式:输入在第一行给出两个正整数 N(≤ 1000)和 M(≤ 100),分别是学生人数和多选题的个数。随后 M 行,每行顺次给出一道题的满分值(不超过 5 的正整数)、选项个数(不少于 2 且不超过 5 的正整数)、正确选项个数(不超过选项个数的正整数)、所有...转载 2019-02-25 21:25:38 · 216 阅读 · 0 评论 -
PAT(B.1079 延迟的回文数)
1079 延迟的回文数 (20 分)给定一个 k+1 位的正整数 N,写成 ak ⋯a1 a0 的形式,其中对所有 i 有 0≤ai <10 且 ak >0。N 被称为一个回文数,当且仅当对所有 i 有 ai =ak−i 。零也被定义为一个回文数。非回文数也可以通过一系列操作变出回文数。首先将该数字逆转,再...转载 2019-02-25 21:22:44 · 165 阅读 · 0 评论 -
PAT(B.1093 字符串A+B)
1093 字符串A+B (20 分)给定两个字符串 A 和 B,本题要求你输出 A+B,即两个字符串的并集。要求先输出 A,再输出 B,但重复的字符必须被剔除。输入格式:输入在两行中分别给出 A 和 B,均为长度不超过 106 的、由可见 ASCII 字符 (即码值为32~126)和空格组成的、由回车标识结束的非空字符串。输出格式:在一行中输出题面要求的 A 和 B ...原创 2019-02-22 14:36:27 · 105 阅读 · 0 评论 -
PAT(B.1041考试座位号)
1041 考试座位号 (15 分)每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。输入格式:输入第一行给出一个正整数 N(...原创 2019-02-22 14:13:41 · 137 阅读 · 0 评论 -
PAT(B1042.字符统计)
1042 字符统计 (20 分)请编写程序,找出一段给定文字中出现最频繁的那个英文字母。输入格式:输入在一行中给出一个长度不超过 1000 的字符串。字符串由 ASCII 码表中任意可见字符及空格组成,至少包含 1 个英文字母,以回车结束(回车不算在内)。输出格式:在一行中输出出现频率最高的那个英文字母及其出现次数,其间以空格分隔。如果有并列,则输出按字母序最小的那个字母。统计...原创 2019-02-02 15:34:12 · 167 阅读 · 0 评论 -
PAT(B1024.科学计数法)
1024 科学计数法 (20 分)科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [+-][1-9].[0-9]+E[+-][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指数部分的正负号即使对正数也必定明确给出。现以科学计数法的格式给出实数 A,请编写程序按普通数字表示法输出 A,并保证所有有效位都被保留。输入格式:每个...转载 2019-01-12 11:03:35 · 137 阅读 · 0 评论 -
PAT(B1023.组个最小数)
023 组个最小数 (20 分)给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意 0 不能做首位)。例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就是 10015558。现给定数字,请编写程序输出能够组成的最小的数。输入格式:输入在一行中给出 10 个非负整数,顺序表示我们拥有数字 0、数字 1、…...转载 2019-01-12 11:02:19 · 301 阅读 · 0 评论 -
PAT(B1021.个位数统计)
1021 个位数统计 (15 分)给定一个 k 位整数 N=dk−1 10k−1 +⋯+d1 101 +d0 (0≤di ≤9, i=0,⋯,k−1, dk−1 >0),请编写程序统计每种不同的个位数字出现的次数。例如:给定 N=100311,则有 2 个 0,3 个 1,和 1 个 3。输入格式:每个输入包...原创 2019-01-12 11:01:02 · 206 阅读 · 1 评论