蓝桥杯算法训练
李大鸭
这个作者很懒,什么都没留下…
展开
-
试题 算法提高 盾神与积木游戏
问题描述最近的m天盾神都去幼儿园陪小朋友们玩去了~ 每个小朋友都拿到了一些积木,他们各自需要不同数量的积木来拼一些他们想要的东西。但是有的小朋友拿得多,有的小朋友拿得少,有些小朋友需要拿到其他小朋友的积木才能完成他的大作。如果某个小朋友完成了他的作品,那么他就会把自己的作品推倒,而无私地把他的所有积木都奉献出来;但是,如果他还没有完成自己的作品,他是不会把积木让出去的哟~ 盾神看到这么和...原创 2020-04-09 20:04:37 · 485 阅读 · 0 评论 -
试题 算法训练 相邻数对
问题描述给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1。输入格式输入的第一行包含一个整数n,表示给定整数的个数。 第二行包含所给定的n个整数。输出格式输出一个整数,表示值正好相差1的数对的个数。 样例输入610 2 6 3 7 8样例输出3样例说明 值正好相差1的数对包括(2, 3), (6, 7), (7, 8)。评测用例规模与约定 1&l...原创 2020-04-03 22:26:41 · 809 阅读 · 0 评论 -
算法提高 扶老奶奶过街
一共有5个红领巾,编号分别为A、B、C、D、E,老奶奶被他们其中一个扶过了马路。五个红领巾各自说话:A :我和E都没有扶老奶奶B :老奶奶是被C和E其中一个扶过大街的C :老奶奶是被我和D其中一个扶过大街的D :B和C都没有扶老奶奶过街E :我没有扶老奶奶已知五个红领巾中有且只有2个人说的是真话,请问是谁扶这老奶奶过了街?若有多个答案,在一行中输出,编号之间用空格隔开。思路此题...原创 2020-02-01 14:40:00 · 323 阅读 · 0 评论 -
算法提高 断案
问题描述 公安人员审问甲、乙、丙、丁四个嫌疑犯,已确知,这四个人当中仅有一人是偷窃者,还知道这四个人的答话,要么完全诚实,要么完全说谎。在回答公安人员的问话中: 甲说:“乙没有偷,是丁偷的。” 乙说:“我没有偷,是丙偷的。” 丙说:“甲没有偷,是乙偷的。” 丁说:“我没有偷,我用的那东西是我家里的。” 请根据上述四人答话,判断谁是偷窃者。 输入格式:无输入。 输出格...原创 2020-01-31 21:41:25 · 1038 阅读 · 0 评论 -
统计单词数 Java
问题描述统计输入英文文章段落中不同单词(单词有大小写之分, 但统计时忽略大小写)各自出现的次数。 输入段落中所含单词的总数不超过100,最长单词的长度不超过20个字母.输入格式一个包含若干句子的段落, 每个句子由若干英文单词组成. 除空格, 逗号和句号外, 这些输入的句子中不含其他非字母字符, 并且, 逗号和句号紧跟在它前面的英文单词后面, 中间没有空格. 段落最后一个字符是回车符, ...原创 2020-01-28 16:09:37 · 831 阅读 · 0 评论 -
算法提高 班级排名
问题描述达达在陶陶的影响下,也对学习慢慢的产生了兴趣。 他在每次考试之后,都会追着老师问,自己在班级的总名次是多少。考试一多,老师也不耐烦了,于是他给了达达所有人的成绩,让他自己去算出自己的排名。 可人太多了,达达也无法立即算出来,于是他想让你帮帮他。输入格式第一行为一个整数N,代表班级的学生总数。 接下来N行,每行一个字符串,代表一个学生的姓名,第一行总是DaDa。 接下来...原创 2020-01-26 11:09:32 · 927 阅读 · 0 评论 -
算法训练 奥运会开幕式 Java
问题描述学校给高一(三)班分配了一个名额,去参加奥运会的开幕式。每个人都争着要去,可是名额只有一个,怎么办?班长想出了一个办法,让班上的所有同学(共有n个同学)围成一圈,按照顺时针方向进行编号。然后随便选定一个数m,并且从1号同学开始按照顺时针方向依次报数,1, 2, …, m,凡报到m的同学,都要主动退出圈子。然后不停地按顺时针方向逐一让报出m者出圈,最后剩下的那个人就是去参加开幕式的人。 ...原创 2020-01-23 20:30:42 · 836 阅读 · 0 评论 -
算法训练数据交换 Java
问题描述编写一个程序,输入两个整数,分别存放在变量x和y当中,然后使用自己定义的函数swap来交换这两个变量的值。 输入格式:输入只有一行,包括两个整数。 输出格式:输出只有一行,也是两个整数,即交换以后的结果。要求主函数负责数据的输入与输出,但不能直接交换这两个变量的值,必须通过调用单独定义的函数swap来完成,而swap函数只负责交换变量的值,不能输出交换后的结果。输入输出样例...原创 2020-01-14 21:51:35 · 674 阅读 · 0 评论 -
贪心算法之找硬币问题
问题描述有1元,5元,10元,50元,100元,500元的硬币现要用这些面额的硬币支付A元,最大需要多少枚硬币本题假设至少有一种方案输入:第一行输入六个数字,分别代表六种面值硬币的数量第二行输入一个整数A,代表需要支付的金额样例输入3 2 1 3 0 2620样例输出6思路贪心算法即遵循某种规律,(贪心地)选择当前最有的解,最终找到最优解此题使用贪心算法,即每次都...原创 2020-01-14 15:40:47 · 2232 阅读 · 0 评论 -
Java实现n皇后问题
问题描述简单来说,n皇后问题是在一个N * N的棋盘上放置n个皇后, 且保证每一行每一列,每一条对角线(正反对角线)都只有一个皇后。求有多少种方法摆放方法。思路这里采用深度优先搜索的思想用一个一维数组rec存储摆放的结果,数组下标表示行数,元素的值表示在该行的此列摆放了皇后判断一个位置是否能够摆放皇后,就看他的此行此列和对角线是否已摆放过皇后,即数组rec中如果 有元素的值为col,即...原创 2020-01-13 16:28:09 · 442 阅读 · 0 评论 -
蓝桥杯 FJ的字符串 Java
问题描述FJ在沙盘上写了这样一些字符串: A1 = “A” A2 = “ABA” A3 = “ABACABA” A4 = “ABACABADABACABA” … … 你能找出其中的规律并写所有的数列AN吗?输入格式仅有一个数:N ≤ 26。输出格式请输出相应的字符串AN,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。样例输入3样例输出ABACA...原创 2019-12-25 16:15:43 · 527 阅读 · 0 评论 -
算法提高 我们的征途是星辰大海
最新的火星探测机器人curiosity被困在了一个二维迷宫里,迷宫由一个个方格组成。 共有四种方格: ‘.’ 代表空地,curiosity可以穿过它 ‘#’ 代表障碍物,不可穿越,不可停留 ‘S’ 代表curiosity的起始位置 ‘T’ 代表curiosity的目的地 NASA将会发送一系列的命令给curiosity,格式如下:“LRUD”分别代表向左,向右,向上,向下走...原创 2019-12-24 20:28:50 · 396 阅读 · 0 评论 -
算法提高 素数求和(筛选法求素数)
问题描述输入一个自然数n,求小于等于n的素数之和样例输入2样例输出2数据规模和约定测试样例保证 2 <= n <= 2,000,000思路这道题要注意数据规模,n的最大值为2000000,如果用测试法判断每一个数的能否被它的因子整除会超时这里用筛选法求素数:i从2开始,把i的所有倍数都筛选掉,最后剩下的都是素数代码import java.util.Scanne...原创 2019-12-23 20:45:42 · 568 阅读 · 1 评论 -
算法训练 连续正整数的和
问题描述78这个数可以表示为连续正整数的和,1+2+3,18+19+20+21,25+26+27。 输入一个正整数 n(<=10000) 输出 m 行(n有m种表示法),每行是两个正整数a,b,表示a+(a+1)+…+b=n。 对于多种表示法,a小的方案先输出。样例输入78样例输出1 1218 2125 27思路根据公差为1的等差数列前n项公式Sn = n * ...原创 2019-12-22 21:41:32 · 357 阅读 · 0 评论 -
Java实现表达式计算
问题描述输入一个只包含加减乖除和括号的合法表达式,求表达式的值。其中除表示整除。输入格式输入一行,包含一个表达式。输出格式输出这个表达式的值。样例输入1-2+3*(4-5)样例输出-4数据规模和约定表达式长度不超过100,表达式运算合法且运算过程都在int内进行。思路简单中缀表达式计算: 创建一个运算符栈和操作数栈 从左到右扫描表达式: 扫描到...原创 2019-12-19 17:22:27 · 2439 阅读 · 0 评论 -
算法训练 寂寞的数
问题描述道德经曰:一生二,二生三,三生万物。 对于任意正整数n,我们定义d(n)的值为为n加上组成n的各个数字的和。例如,d(23)=23+2+3=28, d(1481)=1481+1+4+8+1=1495。 因此,给定了任意一个n作为起点,你可以构造如下一个递增序列:n,d(n),d(d(n)),d(d(d(n)))…例如,从33开始的递增序列为: 33, 39, 51, 57, ...原创 2019-12-17 15:12:41 · 361 阅读 · 0 评论 -
算法训练 黑色星期五
问题描述有些西方人比较迷信,如果某个月的13号正好是星期五,他们就会觉得不太吉利,用古人的说法,就是“诸事不宜”。请你编写一个程序,统计出在某个特定的年份中,出现了多少次既是13号又是星期五的情形,以帮助你的迷信朋友解决难题。 说明:(1)一年有365天,闰年有366天,所谓闰年,即能被4整除且不能被100整除的年份,或是既能被100整除也能被400整除的年份;(2)已知1998年1月1日是...原创 2019-12-13 23:27:30 · 326 阅读 · 1 评论 -
算法训练 字串统计
问题描述给定一个长度为n的字符串S,还有一个数字L,统计长度大于等于L的出现次数最多的子串(不同的出现可以相交),如果有多个,输出最长的,如果仍然有多个,输出第一次出现最早的。输入格式第一行一个数字L。 第二行是字符串S。 L大于0,且不超过S的长度。输出格式一行,题目要求的字符串。输入样例1: 4 bbaabbaaaaa输出样例1: bbaa输入样例2: ...原创 2019-12-12 19:57:59 · 346 阅读 · 0 评论 -
算法训练 学做菜
问题描述涛涛立志要做新好青年,他最近在学做菜。由于技术还很生疏,他只会用鸡蛋,西红柿,鸡丁,辣酱这四种原料来做菜,我们给这四种原料标上字母A,B,C,D。 涛涛现在会做的菜有五种: 1、 西红柿炒鸡蛋 原料:AABDD 2、 酸辣鸡丁 原料:ABCD 3、 宫保鸡丁 原料:CCD 4、 水煮西红柿 原料:BBB 5、 怪味蛋 原料:AD 这天早上,开开去早市给涛涛买了...原创 2019-12-11 18:06:53 · 658 阅读 · 0 评论 -
算法训练 前缀表达式
问题描述编写一个程序,以字符串方式输入一个前缀表达式,然后计算它的值。输入格式为:“运算符 对象1 对象2”,其中,运算符为“+”(加法)、“-”(减法)、“*”(乘法)或“/”(除法),运算对象为不超过10的整数,它们之间用一个空格隔开。要求:对于加、减、乘、除这四种运算,分别设计相应的函数来实现。 输入格式:输入只有一行,即一个前缀表达式字符串。 输出格式:输出相应的计算结果(如果是...原创 2019-12-11 09:29:35 · 531 阅读 · 0 评论 -
算法训练 大等于n的最小完全平方数
问题描述输出大等于n的最小的完全平方数。 若一个数能表示成某个自然数的平方的形式,则称这个数为完全平方数 Tips:注意数据范围输入格式一个整数n输出格式大等于n的最小的完全平方数样例输入71711样例输出71824数据规模和约定n是32位有符号整数思路将输入的数开平方存为长整型数temp将temp再平方后和输入的数比较如果比输入的数小则temp + 1 再...原创 2019-12-09 20:56:47 · 802 阅读 · 0 评论 -
算法训练 最小乘积(基本型)
问题描述给两组数,各n个。 请调整每组数的排列顺序,使得两组数据相同下标元素对应相乘,然后相加的和最小。要求程序输出这个最小值。 例如两组数分别为:1 3 -5和-2 4 1那么对应乘积取和的最小值应为: (-5) * 4 + 3 * (-2) + 1 * 1 = -25输入格式第一个行一个数T表示数据组数。后面每组数据,先读入一个n,接下来两行每行n个数,每个数的绝对值小于...原创 2019-11-28 21:52:47 · 1274 阅读 · 2 评论 -
算法训练 Torry的困惑(基本型)
问题描述Torry从小喜爱数学。一天,老师告诉他,像2、3、5、7……这样的数叫做质数。Torry突然想到一个问题,前10、100、1000、10000……个质数的乘积是多少呢?他把这个问题告诉老师。老师愣住了,一时回答不出来。于是Torry求助于会编程的你,请你算出前n个质数的乘积。不过,考虑到你才接触编程不久,Torry只要你算出这个数模上50000的值。输入格式仅包含一个正整数n,其中...原创 2019-11-22 21:16:21 · 389 阅读 · 2 评论 -
算法训练 数字三角形
问题描述下图给出了一个数字三角形。 请编一个程序计算从顶至底的某处的一条路 径,使该路径所经过的数字的总和最大。 ●每一步可沿左斜线向下或右斜线向下走; ●1<三角形行数≤100; ●三角形中的数字为整数0,1,…99; .输入格式文件中首先读到的是三角形的行数。接下来描述整个三角形输出格式最大总和(整数)样例输入573 88 1 02 7 4 44...原创 2019-11-22 19:43:33 · 636 阅读 · 0 评论 -
算法训练 删除数组零元素
题目描述从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。注意,CompactIntegers函数需要接受数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的新元素个数。输出删除后数组中元素的个数并依次输出数组元素。样例输入:(输入格式说明:5为输入数据的个数,3 4 0 0 2 是以空格隔开的5个整数)53...原创 2019-11-21 19:01:00 · 515 阅读 · 0 评论 -
算法训练 字符串匹配问题
有一源串和一模式串,编写一个算法求源串中和模式串相同的字串的起始下标例:String s = “bsadbsadbsadasbd”;String p = “bsad”;返回0,4,8思路方法1:哈希法1)将模式串按照某一进制转换为一个哈希值如将“basd”按照31进制转换:“b” * 31^3 +“a” * 31^2+“s” * 31^1+ “d” * 31^02)每次从源串中取...原创 2019-11-15 21:22:16 · 321 阅读 · 0 评论 -
子数组的最大累加和
给定一个数组arr,返回子数组的最大累加和例:arr = {1,-2,3,5,-2,6,-1}子数组{3,5,-2,6}可以累加出最大值12基本思路从数组的第一个元素往后加,如果和为负数就舍弃,从一个新的元素开始往后加,当前和比最大和大则更新最大和的值(具体看代码)代码/* * 给定一个数组arr,返回子数组的最大累加和 * 例:arr = {1,-2,3,5,-2,6,-1} ...原创 2019-11-14 21:29:39 · 230 阅读 · 0 评论 -
顺时针打印二维数组
输入1,2,3,45,6,7,89,10,11,1213,14,15,16输出1 2 3 4 8 12 16 15 14 13 9 5 6 7 11 10代码public class 顺时针打印二维数组 { public static void main(String[] args) { int[][] array = { {1,2,3,4}, {5,6,7,...原创 2019-11-14 19:38:57 · 456 阅读 · 0 评论 -
判断字符串A中的字符是否全部出现在字符串B中
问题输入两个字符串str1和str2,请判断str1中的所有字符是否都在str2中思路1.将str2转化成字符数组并排序2.对str1中的每一个字符在字符数组中进行二分查找代码/* * 判断字符串A中的字符是否全部出现在字符串B中 */public class 判断数组的包含问题 { public static void main(String[] args) { Stri...原创 2019-11-14 18:43:20 · 976 阅读 · 0 评论 -
算法训练 Anagrams问题
问题描述Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR”都是Anagrams。编写一个程序,输入两个单词,然后判断一下,这两个单词是否是Anagrams。每一个单词的长度不会超过80个字符,而且是大小写无关的。 输入格式:输入有两行,分别为两个单词...原创 2019-11-14 16:00:09 · 342 阅读 · 1 评论