![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
蓝桥杯日志
LeoHoyle
这个作者很懒,什么都没留下…
展开
-
算法提高 高精度乘法 ————大数乘法
问题描述 在C/C++语言中,整型所能表示的范围一般为-231到231(大约21亿),即使long long型,一般也只能表示到-263到263。要想计算更加规模的数,就要用软件来扩展了,比如用数组或字符串来模拟更多规模的数及共运算。 现在输入两个整数,请输出它们的乘积。输入格式 两行,每行一个正整数,每个整数不超过10000位输出格式 一行,两个整数的乘积。原创 2017-05-19 23:58:16 · 760 阅读 · 0 评论 -
蓝桥杯 历届试题 错误票据
问题描述某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。你的任务是通过编程,找出断号的ID和重号的ID。假设断号不可能发生在最大和最小号。输入格式要求程序首先输原创 2017-03-26 23:55:15 · 352 阅读 · 0 评论 -
完美的代价
问题描述 回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的。小龙龙认为回文串才是完美的。现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串。 交换的定义是:交换两个相邻的字符 例如mamad 第一次交换 ad : mamda 第二次交换 md : madma 第三次交换 ma : madam (回文!完美!)原创 2017-01-19 22:07:58 · 530 阅读 · 0 评论 -
矩形面积交
问题描述 平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。输入格式 输入仅包含两行,每行描述一个矩形。 在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示。输出格式 输出仅包含一个实数,为交的面积,保留到小数后两位。原创 2017-01-18 17:40:12 · 616 阅读 · 0 评论 -
龟兔赛跑预测
问题描述 话说这个世界上有各种各样的兔子和乌龟,但是研究发现,所有的兔子和乌龟都有一个共同的特点——喜欢赛跑。于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣,于是决定研究不同兔子和乌龟的赛跑。他发现,兔子虽然跑比乌龟快,但它们有众所周知的毛病——骄傲且懒惰,于是在与乌龟的比赛中,一旦任一秒结束后兔子发现自己领先t米或以上,它们就会停下来休息s秒。对于不同的兔子,t,s原创 2017-01-16 17:59:34 · 636 阅读 · 0 评论 -
蓝桥杯 历届试题 大臣的旅费:两遍DFS/BFS (已AC)
问题描述很久以前,T王国空前繁荣。为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市。为节省经费,T国的大臣们经过思考,制定了一套优秀的修建方案,使得任何一个大城市都能从首都直接或者通过其他大城市间接到达。同时,如果不重复经过大城市,从首都到达每个大城市的方案都是唯一的。J是T国重要大臣,他巡查于各大城市之间,体察民情。所以,从一个城市马不停蹄地原创 2017-03-29 02:32:16 · 856 阅读 · 0 评论 -
蓝桥杯 历届试题 危险系数(DFS求割点)
问题描述抗日战争时期,冀中平原的地道战曾发挥重要作用。地道的多个站点间有通道连接,形成了庞大的网络。但也有隐患,当敌人发现了某个站点后,其它站点间可能因此会失去联系。我们来定义一个危险系数DF(x,y):对于两个站点x和y (x != y), 如果能找到一个站点z,当z被敌人破坏后,x和y不连通,那么我们称z为关于x,y的关键点。相应的,对于任意一对站点x和y,危险系数DF(x原创 2017-04-01 19:41:45 · 924 阅读 · 0 评论 -
蓝桥杯 历届试题 数字游戏 (已AC)
问题描述 栋栋正在和同学们玩一个数字游戏。 游戏的规则是这样的:栋栋和同学们一共n个人围坐在一圈。栋栋首先说出数字1。接下来,坐在栋栋左手边的同学要说下一个数字2。再下面的一个同学要从上一个同学说的数字往下数两个数说出来,也就是说4。下一个同学要往下数三个数,说7。依次类推。 为了使数字不至于太大,栋栋和同学们约定,当在心中数到 k-1 时,下一个数字从0开始数。例如,当原创 2017-03-25 02:00:12 · 1084 阅读 · 0 评论 -
蓝桥杯 历届试题 核桃的数量(求三个数的最小公倍数)
问题描述小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是:1. 各组的核桃数量必须相同2. 各组内必须能平分核桃(当然是不能打碎的)3. 尽量提供满足1,2条件的最小数量(节约闹革命嘛)输入格式输入包含三个正整数a, b, c,表示每个组正在加班的人数,用空格分开原创 2017-03-31 16:05:10 · 547 阅读 · 0 评论 -
算法训练 数的统计
问题描述 在一个有限的正整数序列中,有些数会多次重复出现在这个序列中。 如序列:3,1,2,1,5,1,2。其中1就出现3次,2出现2次,3出现1 次,5出现1次。 你的任务是对于给定的正整数序列,从小到大依次输出序列中出现的数及出现的次数。输入格式 第一行正整数n,表示给定序列中正整数的个数。 第二行是n 个用空格隔开的正整数x,代表给定的序列。原创 2017-03-14 17:45:00 · 685 阅读 · 0 评论 -
历届试题 带分数 (全排列)——全排列函数
问题描述100 可以表示为带分数的形式:100 = 3 + 69258 / 714。还可以表示为:100 = 82 + 3546 / 197。注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。类似这样的带分数,100 有 11 种表示法。输入格式从标准输入读入一个正整数N (N输出格式程序输出该数字用原创 2017-03-30 19:12:35 · 777 阅读 · 0 评论 -
历届试题 波动数列 (未完成)
问题描述 观察这个数列: 1 3 0 2 -1 1 -2 ... 这个数列中后一项总是比前一项增加2或者减少3。 栋栋对这种数列很好奇,他想知道长度为 n 和为 s 而且后一项总是比前一项增加a或者减少b的整数数列可能有多少种呢?输入格式 输入的第一行包含四个整数 n s a b,含义如前面说述。输出格式 输出一行,包含一个整原创 2017-03-23 17:46:49 · 499 阅读 · 0 评论 -
蓝桥杯 历届试题 分糖果
问题描述 有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏: 每个小朋友都把自己的糖果分一半给左手边的孩子。 一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。 反复进行这个游戏,直到所有小朋友的糖果数都相同为止。 你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。输入格式原创 2017-03-22 23:31:33 · 385 阅读 · 0 评论 -
蓝桥杯 历届试题 幸运数
问题描述幸运数是波兰数学家乌拉姆命名的。它采用与生成素数类似的“筛法”生成。首先从1开始写出自然数1,2,3,4,5,6,....1 就是第一个幸运数。我们从2这个数开始。把所有序号能被2整除的项删除,变为:1 _ 3 _ 5 _ 7 _ 9 ....把它们缩紧,重新记序,为:1 3 5 7 9 .... 。这时,3为第2个幸运数,然原创 2017-03-26 19:13:30 · 1103 阅读 · 0 评论 -
算法提高快速幂(快速幂算法详解)
问题描述 给定A, B, P,求(A^B) mod P。输入格式 输入共一行。 第一行有三个数,N, M, P。输出格式 输出共一行,表示所求。样例输入2 5 3样例输出2数据规模和约定 共10组数据 对100%的数据,A, B为long long范围内的非负整数,P为int内的非负整数。 所谓的快速幂,实际上是...转载 2017-03-22 00:22:37 · 5695 阅读 · 3 评论 -
出现次数最多的整数
问题描述 编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来。如果有两个元素值出现的次数相同,即并列第一,那么只打印比较小的那个值。 输入格式:第一行是一个整数N,N £ 20;接下来有N行,每一行表示一个整数,并且按照从小到大的顺序排列。 输出原创 2017-01-24 21:24:39 · 482 阅读 · 0 评论 -
字串统计——蓝桥杯
问题描述 给定一个长度为n的字符串S,还有一个数字L,统计长度大于等于L的出现次数最多的子串(不同的出现可以相交),如果有多个,输出最长的,如果仍然有多个,输出第一次出现最早的。输入格式 第一行一个数字L。 第二行是字符串S。 L大于0,且不超过S的长度。输出格式 一行,题目要求的字符串。 输入样例1: 4 bbaabbaaaaa原创 2017-01-26 17:14:54 · 638 阅读 · 0 评论 -
算法提高 素数求和 ——筛法求素数
问题描述 输入一个自然数n,求小于等于n的素数之和样例输入2样例输出2数据规模和约定 测试样例保证 2 数据量比较大,用函数判断肯定超时,用筛法求素数可以大大提高速度,即当i为素数时,给定小于等于n范围内i的倍数全是和数。#include #include using namespace std;原创 2017-05-10 00:27:58 · 744 阅读 · 0 评论 -
算法训练 新生舞会
问题描述 新生舞会开始了。n名新生每人有三个属性:姓名、学号、性别。其中,姓名用长度不超过20的仅由大小写字母构成的字符串表示,学号用长度不超过10的仅由数字构成的字符串表示,性别用一个大写字符‘F’或‘M’表示。任意两人的姓名、学号均互不相同。换言之,每个人可被其姓名或学号唯一确定。给出m对两人的信息(姓名或学号),判断他们是否能共舞。两人能共舞的充要条件为两人性别相异。输入原创 2017-04-27 11:54:37 · 697 阅读 · 0 评论 -
算法提高 数字黑洞
问题描述 任意一个四位数,只要它们各个位上的数字是不全相同的,就有这样的规律: 1)将组成该四位数的四个数字由大到小排列,形成由这四个数字构成的最大的四位数; 2)将组成该四位数的四个数字由小到大排列,形成由这四个数字构成的最小的四位数(如果四个数中含有0,则得到的数不足四位); 3)求两个数的差,得到一个新的四位数(高位零保留)。 重复以上过程,最后一定会得到的原创 2017-05-18 11:37:00 · 481 阅读 · 0 评论 -
算法提高 连接乘积
问题描述 192这个数很厉害,用它分别乘以1、2、3,会得到: 192 x 1 = 192 192 x 2 = 384 192 x 3 = 576 把这三个乘积连起来,得到192384576,正好是一个1~9的全排列 我们把上面的运算定义为连接乘积: m x (1 ... n) = k(其中m > 0 且 n > 1,对于上例,m = 192、n =原创 2017-05-08 23:54:24 · 1700 阅读 · 1 评论 -
算法提高 盾神与积木游戏
问题描述 最近的m天盾神都去幼儿园陪小朋友们玩去了~ 每个小朋友都拿到了一些积木,他们各自需要不同数量的积木来拼一些他们想要的东西。但是有的小朋友拿得多,有的小朋友拿得少,有些小朋友需要拿到其他小朋友的积木才能完成他的大作。如果某个小朋友完成了他的作品,那么他就会把自己的作品推倒,而无私地把他的所有积木都奉献出来;但是,如果他还没有完成自己的作品,他是不会把积木让出去的哟~原创 2017-05-06 16:42:44 · 736 阅读 · 0 评论 -
算法训练 阶乘
问题描述 一个整数n的阶乘可以写成n!,它表示从1到n这n个整数的乘积。阶乘的增长速度非常快,例如,13!就已经比较大了,已经无法存放在一个整型变量中;而35!就更大了,它已经无法存放在一个浮点型变量中。因此,当n比较大时,去计算n!是非常困难的。幸运的是,在本题中,我们的任务不是去计算n!,而是去计算n!最右边的那个非0的数字是多少。例如,5! = 1*2*3*4*5 = 120,因此5!原创 2017-04-24 00:14:52 · 689 阅读 · 0 评论 -
算法训练 表达式计算 ——蓝桥杯
问题描述 输入一个只包含加减乖除和括号的合法表达式,求表达式的值。其中除表示整除。输入格式 输入一行,包含一个表达式。输出格式 输出这个表达式的值。样例输入1-2+3*(4-5)样例输出-4数据规模和约定 表达式长度不超过100,表达式运算合法且运算过程都在int内进行。 这个题的思路就是先把中缀表达式转化为后缀表达式,然后用后缀表达式计...原创 2017-01-22 16:46:48 · 10917 阅读 · 7 评论 -
算法训练 字串统计
问题描述 给定一个长度为n的字符串S,还有一个数字L,统计长度大于等于L的出现次数最多的子串(不同的出现可以相交),如果有多个,输出最长的,如果仍然有多个,输出第一次出现最早的。输入格式 第一行一个数字L。 第二行是字符串S。 L大于0,且不超过S的长度。输出格式 一行,题目要求的字符串。 输入样例1: 4 bbaab原创 2017-04-23 18:45:10 · 479 阅读 · 0 评论 -
算法提高 质因数2
将一个正整数N(1输入格式 一行,一个正整数输出格式 两行,第一行为用空格分开的质因数 第二行为质因数的个数样例输入66样例输出2 3 113样例输入90样例输出2 3 3 54样例输入37样例输出371#include #include原创 2017-05-13 15:09:11 · 572 阅读 · 0 评论 -
排列数
问题描述 0、1、2三个数字的全排列有六种,按照字母序排列如下: 012、021、102、120、201、210 输入一个数n 求0~9十个数的全排列中的第n个(第1个为0123456789)。输入格式 一行,包含一个整数n输出格式 一行,包含一组10个数字的全排列样例输入1样例输出0123456789原创 2017-02-04 18:20:29 · 1826 阅读 · 0 评论 -
拿糖果—蓝桥杯
问题描述 妈妈给小B买了N块糖!但是她不允许小B直接吃掉。 假设当前有M块糖,小B每次可以拿P块糖,其中P是M的一个不大于根号下M的质因数。这时,妈妈就会在小B拿了P块糖以后再从糖堆里拿走P块糖。然后小B就可以接着拿糖。 现在小B希望知道最多可以拿多少糖。输入格式 一个整数N输出格式 最多可以拿多少糖样例输入15样例原创 2017-02-03 11:17:50 · 1258 阅读 · 0 评论 -
算法提高 最长单词&&单词个数统计&&不同单词个数统计
编写一个函数,输入一行字符,将此字符串中最长的单词输出。 输入仅一行,多个单词,每个单词间用一个空格隔开。单词仅由小写字母组成。所有单词的长度和不超过100000。如有多个最长单词,输出最先出现的。样例输入I am a student样例输出student这个题只需输入一个单词,比较一个单词就好,关键是输入结束的控制,当输入回车原创 2017-04-03 23:51:56 · 1434 阅读 · 1 评论 -
算法提高 统计单词数
问题描述 统计输入英文文章段落中不同单词(单词有大小写之分, 但统计时忽略大小写)各自出现的次数。 输入段落中所含单词的总数不超过100,最长单词的长度不超过20个字母.输入格式 一个包含若干句子的段落, 每个句子由若干英文单词组成. 除空格, 逗号和句号外, 这些输入的句子中不含其他非字母字符, 并且, 逗号和句号紧跟在它前面的英文单词后面, 中间没有空格. 段落原创 2017-04-04 23:17:50 · 2016 阅读 · 0 评论 -
删除数组零元素
从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。注意,CompactIntegers函数需要接受数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的新元素个数。输出删除后数组中元素的个数并依次输出数组元素。样例输入: (输入格式说明:5为输入数据的个数,3 4 0 0 2 是以空格隔开的5个整数)5原创 2017-01-26 21:02:39 · 362 阅读 · 0 评论 -
算法训练 和为T
问题描述 从一个大小为n的整数集中选取一些元素,使得它们的和等于给定的值T。每个元素限选一次,不能一个都不选。输入格式 第一行一个正整数n,表示整数集内元素的个数。 第二行n个整数,用空格隔开。 第三行一个整数T,表示要达到的和。输出格式 输出有若干行,每行输出一组解,即所选取的数字,按照输入中的顺序排列。 若有多组解,优先输出不包含第n个整数的;若都包原创 2017-03-12 18:42:19 · 2071 阅读 · 0 评论 -
动态数组使用
从键盘读入n个整数,使用动态数组存储所读入的整数,并计算它们的和与平均值分别输出。要求尽可能使用函数实现程序代码。平均值为小数的只保留其整数部分。样例输入: 5 3 4 0 0 2样例输出:9 1样例输入: 73 2 7 5 2 9 1样例输出:29 4借此文章来说一下vector容器用法vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据转载 2017-01-26 17:55:17 · 2844 阅读 · 0 评论 -
最小乘积(基本型)
问题描述 给两组数,各n个。 请调整每组数的排列顺序,使得两组数据相同下标元素对应相乘,然后相加的和最小。要求程序输出这个最小值。 例如两组数分别为:1 3 -5和-2 4 1 那么对应乘积取和的最小值应为: (-5) * 4 + 3 * (-2) + 1 * 1 = -25输入格式 第一个行一个数T表示数据组数。后面每组数据,先读入一个n原创 2017-02-01 20:27:03 · 403 阅读 · 0 评论 -
P1102 ——结构体两级排序
定义一个学生结构体类型student,包括4个字段,姓名、性别、年龄和成绩。然后在主函数中定义一个结构体数组(长度不超过1000),并输入每个元素的值,程序使用冒泡排序法将学生按照成绩从小到大的顺序排序,然后输出排序的结果。 输入格式:第一行是一个整数N(N 输出格式:按成绩从小到大输出所有元素,若多个学生成绩相同则成绩相同的同学之间保留原来的输入顺序。输入: 3 Al原创 2017-01-31 20:51:55 · 518 阅读 · 0 评论 -
操作格子——线段树
问题描述有n个格子,从左到右放成一排,编号为1-n。共有m次操作,有3种操作类型:1.修改一个格子的权值,2.求连续一段格子权值和,3.求连续一段格子的最大值。对于每个2、3操作输出你所求出的结果。输入格式第一行2个整数n,m。接下来一行n个整数表示n个格子的初始权值。接下来m行,每行3个整数p,x,y,p表示操作类型,p=1时表示修改格子x的权值为y,p=原创 2017-01-31 21:04:53 · 797 阅读 · 0 评论 -
s01串
问题描述 s01串初始为"0" 按以下方式变换 0变1,1变01输入格式 1个整数(0~19)输出格式 n次变换后s01串样例输入3样例输出101数据规模和约定 0~19用一个链表容器,遍历n次,每次遇到0就变成1,遇到1就在前面插入0。#includ原创 2017-01-31 21:35:11 · 1774 阅读 · 0 评论 -
王、后传说——蓝桥杯
问题描述 地球人都知道,在国际象棋中,后如同太阳,光芒四射,威风八面,它能控制横、坚、斜线位置。 看过清宫戏的中国人都知道,后宫乃步步惊心的险恶之地。各皇后都有自己的势力范围,但也总能找到相安无事的办法。 所有中国人都知道,皇权神圣,伴君如伴虎,触龙颜者死...... 现在有一个n*n的皇宫,国王占据他所在位置及周围的共9个格子,这些格子皇后不能使用(如果国王在王宫的边原创 2017-02-01 20:00:45 · 573 阅读 · 0 评论 -
区间k大数查询
问题描述给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。输入格式第一行包含一个数n,表示序列长度。第二行包含n个正整数,表示给定的序列。第三个包含一个正整数m,表示询问个数。接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个。序列元素从1开始标号。输出格式原创 2017-02-01 20:11:02 · 320 阅读 · 0 评论 -
关联矩阵——蓝桥杯
问题描述 有一个n个结点m条边的有向图,请输出他的关联矩阵。输入格式 第一行两个整数n、m,表示图中结点和边的数目。n 接下来m行,每行两个整数a、b,表示图中有(a,b)边。 注意图中可能含有重边,但不会有自环。输出格式 输出该图的关联矩阵,注意请勿改变边和结点的顺序。样例输入5 91 23 11 52 5原创 2017-02-01 20:14:16 · 1767 阅读 · 0 评论